简体   繁体   English

使用来自Excel的数据在Tkinter上创建一个下拉菜单

[英]Create a Dropdown Menu on Tkinter with Data from excel

I'd like to Create a Dropdown Menu on Tkinter via using Tkinter and xlrd. 我想通过使用Tkinter和xlrd在Tkinter上创建一个下拉菜单。 The Values of the dropdown Menu shall be from an excel-list. 下拉菜单的值应来自excel列表。 So far I only have this: 到目前为止,我只有这样:

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)

I would like to use m as a variable instead of the value 8. But only integers are allowed. 我想使用m作为变量而不是值8。但是仅允许使用整数。 Do I have to use openpyxl? 我必须使用openpyxl吗? Do you have any suggestions? 你有什么建议吗? Maybe there's another way. 也许还有另一种方式。 This is the first time I'm using Python. 这是我第一次使用Python。

Assuming you are able to retrieve the items from your excel document, you can try adding them to a dictionary along their varType. 假设您能够从excel文档中检索项目,则可以尝试将它们沿着其varType添加到字典中。 Here is a modified example from tutorialspoint : 这是从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()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM