gpt4 book ai didi

python - 如何使用从我的 SQLite 数据库检索到的数据填充 tkinter 下拉框?

转载 作者:行者123 更新时间:2023-11-28 17:38:07 25 4
gpt4 key购买 nike

基本上我有一个电影院预订系统,它有一个数据库,可以存储正在上映的电影和时间日期等。我已经设法以我希望使用的格式打印内容,但是,我不确定如何使用它在使用 tkinter 下拉菜单方面的数据,该菜单单独显示下面显示的行。

import sqlite3 as lite
conn = lite.connect('Logindetails.db')

with conn:

conn.row_factory = lite.Row
cursor = conn.cursor()

title = raw_input("Name of tile: ")

query = "SELECT * FROM Viewings WHERE Title=?"
cursor.execute(query, (title,))

rows = cursor.fetchall()

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

这是我检索所需数据的代码。这是它的输出。

Name of tile: Frozen
1 Frozen 06/15 11:35 95
3 Frozen 06/18 11:35 95
4 Frozen 06/30 11:25 95
5 Frozen 07/02 11:45 95
6 Frozen 07/05 12:30 95

我已经编写了我的 tkinter 项目的基础,只是不确定如何操作这些数据并将其导入到下拉框中,每个数据集都可以单独选择。

最佳答案

您可以在代码中的某处定义 movieList 数组,然后将在 for 循环中创建的字符串附加到 movieList 数组:

movieList = []
...
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

(作为旁注,您可以省略 row["Id"]row["Duration"] 字段,因为前者对你的用户来说并不重要,而后者是多余的)

然后使用 OptionMenu 小部件构建下拉菜单很容易;这是一个带有硬编码值的最小示例,您的 movieList 将在上述 for 循环中动态构建:

from Tkinter import *

movieList = ["1 Frozen 06/15 11:35 95", "3 Frozen 06/18 11:35 95",
"4 Frozen 06/30 11:25 95", "5 Frozen 07/02 11:45 95",
"6 Frozen 07/05 12:30 95"]

master = Tk()

option = StringVar(master)
option.set(movieList[0]) # Set the first value to be the default option

w = apply(OptionMenu, (master, option) + tuple(movieList))
w.pack()

mainloop()

然后你可以通过调用get()方法来获取选择的选项:

option.get()

关于python - 如何使用从我的 SQLite 数据库检索到的数据填充 tkinter 下拉框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com