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 相关文章推荐
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
python爬取内容存入Excel实例
Feb 20 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
python实现生成Word、docx文件的方法分析
Aug 30 Python
python实现广度优先搜索过程解析
Oct 19 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
Jan 04 Python
Python类和实例的属性机制原理详解
Mar 21 Python
python中os包的用法
Jun 01 Python
python相对企业语言优势在哪
Jun 12 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 Python
python向企业微信发送文字和图片消息的示例
Sep 28 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和MySQL保存和输出图片
2006/10/09 PHP
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
php empty函数 使用说明
2009/08/10 PHP
PHP Session变量不能传送到下一页的解决方法
2009/11/27 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
php session 写入数据库
2016/02/13 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
检讨书模板
2015/01/29 职场文书
社区低保工作总结2015
2015/07/23 职场文书
2016年学校“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
导游词之清晏园
2019/11/22 职场文书
使用 Apache 反向代理的设置技巧
2022/01/18 Servers