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使用rabbitmq实现网络爬虫示例
Feb 20 Python
Python 基础之字符串string详解及实例
Apr 01 Python
Python中动态检测编码chardet的使用教程
Jul 06 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
Python 文件操作的详解及实例
Sep 18 Python
Python基本socket通信控制操作示例
Jan 30 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
python提取log文件内容并画出图表
Jul 08 Python
基于Python安装pyecharts所遇的问题及解决方法
Aug 12 Python
python脚本后台执行方式
Dec 21 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
python关于倒排列的知识点总结
Oct 13 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分页效率终结版(推荐)
2013/07/01 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
php程序内部post数据的方法
2015/03/31 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
javascript编写简易计算器
2017/05/06 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
[01:01:23]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第一场 11.26
2020/11/30 DOTA
用Python进行简单图像识别(验证码)
2018/01/19 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
Python字符串的常见操作实例小结
2019/04/08 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
Python 串口读写的实现方法
2019/06/12 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
自我评价的写作规则
2014/01/06 职场文书
酒店总经理助理岗位职责
2014/02/01 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
电影圆明园观后感
2015/06/03 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
Python中可变和不可变对象的深入讲解
2021/08/02 Python
python对文档中元素删除,替换操作
2022/04/02 Python