"""测试Radiobutton组件的基本用法, 使用面向对象的写法"""
from tkinter import *
from tkinter import messagebox
class Application(Frame):
"""一个经典的GUI程序的类的写法"""
def __init__(self,master=None):
super().__init__(master)
self.master = master
self.pack()
self.createWidget()
def createWidget(self):
self.v = StringVar();
self.v.set("F")
self.r1 = Radiobutton(self,text="男性",value="M",variable=self.v)
self.r2 = Radiobutton(self,text="女性",value="F",variable=self.v)
self.r1.pack(side="left");self.r2.pack(side="left")
Button(self,text="确定",command=self.confirm).pack(side="left")
def confirm(self):
messagebox.showinfo("测试","选择的性别:"+self.v.get())
if __name__ =="__main__":
root = Tk()
root.geometry("400x300+200+300")
app = Application(master=root)
root.mainloop()
错误提示:
Traceback (most recent call last):
File "C:/Users/18355/PycharmProjects/gui/my07.py", line 35, in <module>
app = Application(master=root)
File "C:/Users/18355/PycharmProjects/gui/my07.py", line 15, in __init__
self.createWidget()
File "C:/Users/18355/PycharmProjects/gui/my07.py", line 26, in createWidget
Button(self,text="确定",command=self.confirm).pack(side="left")
AttributeError: 'Application' object has no attribute 'confirm'
老师,这是哪里出现了问题?按照视频中的代码敲的