import tkinter
import tkinter.messagebox
class checkbutton:
def __init__(self):
self.main = tkinter.Tk()
self.top = tkinter.Frame(self.main)
self.bot = tkinter.Frame(self.main)
self.cb1v = tkinter.IntVar()
self.cb2v = tkinter.IntVar()
self.cb3v = tkinter.IntVar()
self.cb1v.set(0)
self.cb2v.set(0)
self.cb3v.set(0)
self.cb1 = tkinter.Checkbutton(self.top, text = 'Option 1', variable = self.cb1v)
self.cb2 = tkinter.Checkbutton(self.top, text = 'Option 2', variable = self.cb2v)
self.cb3 = tkinter.Checkbutton(self.top, text = 'Option 3', variable = self.cb3v)
self.cb1.pack()
self.cb2.pack()
self.cb3.pack()
self.calbutton = tkinter.Button(self.bot, text = 'ok', command = self.show)
self.quit = tkinter.Button(self.bot, text = 'quit',command = self.main.destroy)
self.calbutton.pack(side='left')
self.quit.pack(side='left')
tkinter.mainloop()
def show(self):
self.messge = 'you click: '
if self.cb1v.get() == 1:
self.messge = self.messge + '1'
if self.cb2v.get() == 1:
self.messge = self.messge + '2'
if self.cb3v.get() == 1:
self.messge = self.messge + '3'
tkinter.messagebox.showinfo('seletion',self.messge)
gui = checkbutton()
上面是我的checkbutton GUI程序代码,我期望得到输出:
如您所见,我的意外输出显示为空白,但未显示任何内容。我想知道为什么会这样,我的代码有什么问题吗?如果您能帮助我解决这个问题,我将不胜感激。
问题是您没有打包self.cb1
orcb2
或or的父级cb3
。您应该self.top.pack()
在__init__
方法中做。
def __init__(self):
# code above
self.top.pack()
self.cb1 = tkinter.Checkbutton(self.top, text = 'Option 1', variable = self.cb1v)
self.cb2 = tkinter.Checkbutton(self.top, text = 'Option 2', variable = self.cb2v)
self.cb3 = tkinter.Checkbutton(self.top, text = 'Option 3', variable = self.cb3v)
# code after
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句