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 open()文件处理使用介绍
Nov 30 Python
在Python中通过threading模块定义和调用线程的方法
Jul 12 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
python3库numpy数组属性的查看方法
Apr 17 Python
解决Python运行文件出现out of memory框的问题
Dec 03 Python
Python 脚本获取ES 存储容量的实例
Dec 27 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
python 接口实现 供第三方调用的例子
Aug 13 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Python中requests做接口测试的方法
May 30 Python
Pandas-DataFrame知识点汇总
Mar 16 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
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
jquery弹出框的用法示例(一)
2013/08/26 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
JavaScript中的全局属性与方法深入解析
2020/06/14 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
想学python 这5本书籍你必看!
2018/12/11 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Django之创建引擎索引报错及解决详解
2019/07/17 Python
Python实现不规则图形填充的思路
2020/02/02 Python
sklearn+python:线性回归案例
2020/02/24 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
介绍一下Make? 为什么使用make
2016/07/31 面试题
为什么需要版本控制
2016/10/28 面试题
腾讯公司的一个sql题
2013/01/22 面试题
金融管理专业求职信
2014/07/10 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
厉行节约工作总结
2015/08/12 职场文书
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python