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生成器的使用方法
Nov 21 Python
Python导入txt数据到mysql的方法
Apr 08 Python
Python中用PIL库批量给图片加上序号的教程
May 06 Python
Python的多态性实例分析
Jul 07 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
python虚拟环境的安装配置图文教程
Oct 20 Python
利用python实现微信头像加红色数字功能
Mar 26 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
redis数据库及与python交互用法简单示例
Nov 01 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
Feb 13 Python
Python多个装饰器的调用顺序实例解析
May 22 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
星际原理概述
2020/03/04 星际争霸
php array的学习笔记
2012/05/10 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
document.all与WEB标准
2020/05/13 Javascript
最新28个很棒的jQuery 教程
2011/05/28 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
js获取页面description的方法
2015/05/21 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
Vue.js划分组件的方法
2017/10/29 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python实现2014火车票查询代码分享
2014/01/10 Python
Python中的with...as用法介绍
2015/05/28 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
python网络编程之五子棋游戏
2020/05/14 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
Python中的流程控制详解
2021/02/18 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
英国网上购买门:Direct Doors
2018/06/07 全球购物
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
德国自行车商店:Tretwerk
2019/06/21 全球购物
大学毕业感言一句话
2014/02/06 职场文书
个人租房协议书
2014/04/09 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
内科护士节演讲稿
2014/09/11 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers