Python tkinter模块中类继承的三种方式分析
本文实例讲述了Pythontkinter模块中类继承的三种方式。分享给大家供大家参考,具体如下:
tkinterclass继承有三种方式。
提醒注意这几种继承的运行方式
一、继承object
1.铺tk.Frame给parent:
说明:
self.rootframe=tk.Frame(parent)
tk.Label(self.rootframe)
importtkinterastk classMyApp(object): def__init__(self,parent): self.rootframe=tk.Frame(parent) self.rootframe.pack() self.setupUI() defsetupUI(self): tk.Label(self.rootframe,text='标签').pack() if__name__=='__main__': root=tk.Tk() MyApp(root)#注意这句 root.mainloop()
2.直接使用root
说明:
self.root=parent
tk.Label(self.root)
importtkinterastk classMyApp(object): def__init__(self,parent,**kwargs): self.root=parent self.root.config(**kwargs) self.setupUI() defsetupUI(self): tk.Label(self.root,text='标签').pack() if__name__=='__main__': root=tk.Tk() app=test(root) root.mainloop()
二、继承tk.Tk
importtkinterastk classMyApp(tk.Tk): def__init__(self): super().__init__() self.setupUI() defsetupUI(self): tk.Label(self,text='标签').pack() if__name__=='__main__': MyApp().mainloop()
三、继承tk.Frame
分两种情况
1.有parent
importtkinterastk classMyApp(tk.Frame): def__init__(self,parent=None): super().__init__(parent) self.pack() self.setupUI() defsetupUI(self): tk.Label(self,text='标签').pack() if__name__=='__main__': MyApp(tk.Tk()).mainloop() #MyApp().mainloop()#也可以这样
注意:self.pack()
2.没有parent
importtkinterastk classMyApp(tk.Frame): def__init__(self): super().__init__() self.pack() self.setupUI() defsetupUI(self): tk.Label(self,text='标签').pack() if__name__=='__main__': MyApp().mainloop()
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《PythonSocket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短