Python tkinter模块中类继承的三种方式分析


Posted in Python onAugust 08, 2017

本文实例讲述了Python tkinter模块中类继承的三种方式。分享给大家供大家参考,具体如下:

tkinter class继承有三种方式。

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

一、继承 object

1.铺tk.Frame给parent:

说明:

self.rootframe = tk.Frame(parent)
tk.Label(self.rootframe)

import tkinter as tk
class 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 tk
class 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 tk
class 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 tk
class 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 tk
class 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()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
python遍历类中所有成员的方法
Mar 18 Python
python使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
python3.4下django集成使用xadmin后台的方法
Aug 15 Python
python实现的按要求生成手机号功能示例
Oct 08 Python
8段用于数据清洗Python代码(小结)
Oct 31 Python
pytorch 实现打印模型的参数值
Dec 30 Python
基于keras 模型、结构、权重保存的实现
Jan 24 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 Python
Python实现注册登录系统
Aug 08 #Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
Aug 08 #Python
Python3 适合初学者学习的银行账户登录系统实例
Aug 08 #Python
Python初学时购物车程序练习实例(推荐)
Aug 08 #Python
Python爬虫之xlml解析库(全面了解)
Aug 08 #Python
Python 3中print函数的使用方法总结
Aug 08 #Python
Python读取sqlite数据库文件的方法分析
Aug 07 #Python
You might like
php array_flip() 删除数组重复元素
2009/01/14 PHP
php文件操作实例代码
2012/05/10 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
jquery实现数字输入框
2017/02/22 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
Vue中的scoped实现原理及穿透方法
2018/05/15 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
Python实现的ini文件操作类分享
2014/11/20 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python延时操作实现方法示例
2018/08/14 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
Python调用C/C++的方法解析
2020/08/05 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
毕业生简单求职信
2013/11/19 职场文书
工程专业毕业生自荐信范文
2013/12/25 职场文书
十岁生日父母答谢词
2014/01/18 职场文书
学子宴答谢词
2014/01/25 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
妇女工作先进事迹
2014/08/17 职场文书
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL