使用excel中的数据在Tkinter上创建下拉菜单

时间:2016-06-18 15:31:42

标签: python excel tkinter xlrd

我想通过使用Tkinter和xlrd在Tkinter上创建一个下拉菜单。 下拉菜单的值应来自excel列表。到目前为止我只有这个:

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)

我想使用m作为变量而不是值8.但是只允许使用整数。我必须使用openpyxl吗?你有什么建议吗?也许还有另一种方式。这是我第一次使用Python。

1 个答案:

答案 0 :(得分: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()