2016-06-18 5 views
0

Tkinterとxlrdを使用してTkinterにドロップダウンメニューを作成したいと思います。 ドロップダウンメニューの値はExcelリストからのものでなければなりません。これまで私はこれを持っています:Tkinterのデータを使ってドロップダウンメニューを作成する

i = 0 
while i < 96: 
    i = i+1 
    m=sheet.cell_value(i,1) 
    print(m) 
mbuttonMaterial = Menubutton(tkFenster, text='Material')  
picks = Menu(mbuttonMaterial)    
mbuttonMaterial.config(menu=picks) 
picks.add_command(label=sheet.cell_value(8,1)+ '/'+sheet.cell_value(8,2),command = ChooseMaterial) 
mbuttonMaterial.pack() 
mbuttonMaterial.config(bg='white', bd=4, relief=RAISED) 
mbuttonMaterial.place(x=54,y=200, width=100, height = 50) 

値8の代わりにmを変数として使用したいと思います。整数だけが許されます。 openpyxlを使う必要がありますか?何か提案はありますか?多分別の方法があります。私が初めてPythonを使用しているのです。

+0

特定のタスクまたはコードを参照するように質問を簡略化する必要があります。 –

+0

私は、Excelに記載されている材料の名前が異なります。これらの名前は、ドロップダウンメニューに表示されます。 –

+0

あなたのポイントは?おそらくコードを2つのブロックに分割する必要があります:1つはマテリアルを取得し、もう1つはメニューでこれらのマテリアルを使用します。 –

答えて

0

あなたのExcel文書から項目を取得できると仮定して、それらをvarTypeに沿って辞書に追加することができます。 tutorialspointの変更例を次に示します。

from tkinter import Tk, Menubutton, Menu, IntVar, RAISED 

top = Tk() 

mb= Menubutton (top, text="condiments", relief=RAISED) 
mb.grid() 
mb.menu = Menu (mb, tearoff = 0) 
mb["menu"] = mb.menu 

menuItemVars = { "mayoVar": "mayo", "ketchVar": "ketchup", "mustardVar": "mustard" } 

for key, value in menuItemVars.items(): 
    print(key, value) 
    key = IntVar() 
    mb.menu.add_checkbutton(label=value, variable=key) 


mb.pack() 
top.mainloop() 
関連する問題