我想添加一个在gui上有默认值的单选按钮(在“数字”和“模拟”之间切换)。以下代码显示,默认值=“数字”显示在按钮上
import tkinter as tk
root = tk.Tk()
tk.Label(root, text = 'MPD').grid(row = 1, column = 15)
MPDmode = tk.Frame(root)
MPDmode.grid(row = 2, column = 15)
MPDmode_var = tk.StringVar(value = 'digital')
MPDdigital = tk.Radiobutton(MPDmode, text = 'Digital', variable = MPDmode_var, indicatoron = False, value = 'digital', width = 8)
MPDanalog = tk.Radiobutton(MPDmode, text = 'Analog', variable = MPDmode_var, indicatoron = False, value = 'analog', width = 8)
MPDdigital.grid(row = 0)
MPDanalog.grid(row = 1)
root.mainloop()
但是,如果在函数中定义内容,则无法显示默认值。即:
import tkinter as tk
def start():
tk.Label(root, text = 'MPD').grid(row = 1, column = 15)
MPDmode = tk.Frame(root)
MPDmode.grid(row = 2, column = 15)
MPDmode_var = tk.StringVar(value = 'digital')
MPDdigital = tk.Radiobutton(MPDmode, text = 'Digital', variable = MPDmode_var, indicatoron = False, value = 'digital', width = 8)
MPDanalog = tk.Radiobutton(MPDmode, text = 'Analog', variable = MPDmode_var, indicatoron = False, value = 'analog', width = 8)
MPDdigital.grid(row = 0)
MPDanalog.grid(row = 1)
root = tk.Tk()
start()
root.mainloop()
因为我想让我的项目开发更加结构化,所以我想把内容放在一个函数中,并在代码中的不同位置调用它来构建GUI。我可以知道我怎样才能做到这一点吗
看起来
StringVar
在函数中创建时得到了GCed。可以将StringVar
创建为全局变量:但如果您正在寻找更好的结构,则可以使用类:
相关问题 更多 >
编程相关推荐