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 婆婆高寿祝福语大全简短