SQL表中的Tkinter下拉菜单

时间:2017-08-17 14:34:56

标签: mysql sql python-3.x tkinter

我没有用户输入"作业名称",而是希望它成为Tkinter下拉菜单。

我猜想这个想法是将Jobname附加到Table中的名字列表。如何在tkinter下拉列表中显示它?

Jobname = []
...
for row in rows:
        data = "%s %s %s %s %s" % (row["Id"], row["Title"], row["Date"], row["Time"], row["Duration"])
        movieList.append(data)
        print data

我的代码

def reportdata():
    clear()
    w11 = Label(fr, text="Job Name : ")
    w11.grid(row=1, column=0)
    listlab.append(w11)
    w22 = Label(fr, text="Job Start Date: ")
    w22.grid(row=2, column=0)
    listlab.append(w22)
    w33 = Label(fr, text="Job End Date: ")
    w33.grid(row=3, column=0)
    listlab.append(w33)

    e11 = Entry(fr, textvariable=jjname)
    e11.grid(row=1, column=1)
    listlab.append(e11)
    e22 = Entry(fr, textvariable=jjdates)
    e22.grid(row=2, column=1)
    listlab.append(e22)
    e33 = Entry(fr, textvariable=jjdatee)
    e33.grid(row=3, column=1)
    listlab.append(e33)

    mbuttonn = Button(fr, text="Generate", command=savexl)
    mbuttonn.grid(row=4, column=3)
    listlab.append(mbuttonn)

1 个答案:

答案 0 :(得分:2)

请参阅下面的示例,了解如何使用list填充tkinter OptionMenu

from tkinter import *

root = Tk()

a = [] #creates a list to store the job names in
var = StringVar() #creates a stringvar to store the value of options

for i  in range(20): #fills list with nonsense jobs for troubleshooting
    a.append("Job Name "+str(i))

var.set(a[0]) #sets the default option of options

options = OptionMenu(root, var, *a) #createa an optionmenu populated with every element of the list
button = Button(root, text="Ok", command=lambda:print(var.get())) #prints the current value of options

options.pack()
button.pack()

这使用list来填充OptionMenu及其所有元素,然后我们创建一个button来打印OptionMenu的当前值}。

如果您可以将SQL导入的数据导入list,则可以使用与上述相同的逻辑。