首页 技术 正文
技术 2022年11月19日
0 收藏 453 点赞 3,823 浏览 1322 个字

tkinter class继承有三种方式。

提醒注意这几种继承的运行方式

一、继承 object

1.铺tk.Frame给parent:

说明:

  • self.rootframe = tk.Frame(parent)
  • tk.Label(self.rootframe)
import tkinter as tkclass MyApp(object):
def __init__(self, parent):
self.rootframe = tk.Frame(parent)
self.rootframe.pack() self.setupUI() def setupUI(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)
import tkinter as tkclass MyApp(object):
def __init__(self, parent, **kwargs):
self.root = parent
self.root.config(**kwargs) self.setupUI() def setupUI(self):
tk.Label(self.root, text = '标签').pack()if __name__ == '__main__':
root = tk.Tk()
app = test(root)
root.mainloop()

二、继承 tk.Tk

import tkinter as tkclass MyApp(tk.Tk):    def __init__(self):
super().__init__() self.setupUI() def setupUI(self):
tk.Label(self, text='标签').pack()if __name__ == '__main__':
MyApp().mainloop()

三、继承 tk.Frame

分两种情况

1.有parent

import tkinter as tkclass MyApp(tk.Frame):
def __init__(self, parent=None):
super().__init__(parent)
self.pack() self.setupUI() def setupUI(self):
tk.Label(self, text='标签').pack()if __name__ == '__main__':
MyApp(tk.Tk()).mainloop()
#MyApp().mainloop() # 也可以这样

注意: self.pack()

2.没有parent

import tkinter as tkclass MyApp(tk.Frame):    def __init__(self):
super().__init__()
self.pack() self.setupUI() def setupUI(self):
tk.Label(self, text='标签').pack()if __name__ == '__main__':
MyApp().mainloop()
上一篇: httpserver
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,084
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,559
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,408
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,181
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,818
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,901