Python tkinter程序调用创建按钮
您好,我正在尝试使用tkinter创建GUI,但我无法通过编程使按钮正确显示和/或行为 这是我用来根据dict创建按钮的代码:Python tkinter程序调用创建按钮,python,tkinter,Python,Tkinter,您好,我正在尝试使用tkinter创建GUI,但我无法通过编程使按钮正确显示和/或行为 这是我用来根据dict创建按钮的代码: from tkinter import * import sqlite3 from functools import partial def query(x): conn = sqlite3.connect("_db") cur = conn.cursor() q = cur.execute("SELECT text, option1, op
from tkinter import *
import sqlite3
from functools import partial
def query(x):
conn = sqlite3.connect("_db")
cur = conn.cursor()
q = cur.execute("SELECT text, option1, option2, option3 FROM tbl_1 WHERE id=?", [x, ])
actions = q.fetchone()
return actions
def pkey(identifier, label):
q = query(identifier)
buttons = {}
text = q[0]
label.config(text=text)
for entry in q:
if entry != text and entry is not None:
buttons[int(entry[0])] = entry[3:]
new_button = Button(root)
for k, v in buttons.items():
new_button.config(text=v, command=partial(pkey, k, label))
new_button.pack(fill=X)
print(buttons)
lbl.pack()
root = Tk()
root.geometry("300x200")
text_frame = LabelFrame(root, bg="#A66D4F")
text_frame.pack(fill=BOTH, expand=Y)
options_frame = LabelFrame(root, bg="cyan").pack(fill=X)
lbl = Label(text_frame)
pkey(1, lbl)
root.mainloop()
这将在一个框架内创建按钮,但当我单击其中一个按钮时,它们将替换现有按钮,我得到的只是现有按钮顶部的按钮实例。从3个按钮变为6个按钮
有没有办法在单击后用新的按钮替换现有的按钮实例
谢谢你的回复。你说得对,我错过了一次机会。 我已经用下面的代码更新了代码,现在可以正常工作了
def destroy(frame, key, label):
frame.destroy()
frame = LabelFrame(self.parent, bg="cyan")
frame.pack(fill=X)
option_buttons(frame, key, label)
再次感谢
请考虑添加代码示例,或者修改您在这个问题中发布的代码示例。目前,它的格式和范围使我们很难帮助您;这是一个让你开始学习的方法。祝你的代码好运!请出示你的密码。我们无法诊断看不到的代码。如果你的代码只是简单地把新的按钮放在上面,那么很明显,你并没有破坏旧的小部件。你可以有一个更窄的代码。最坏的情况下,可能是重复的,请看这个