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使用calendar输出指定年份全年日历的方法
Apr 04 Python
Python中比较特别的除法运算和幂运算介绍
Apr 05 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
谈谈Python中的while循环语句
Mar 10 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
FFT快速傅里叶变换的python实现过程解析
Oct 21 Python
Tensorflow分批量读取数据教程
Feb 07 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
如何用Python编写一个电子考勤系统
Feb 08 Python
Python中相见恨晚的技巧
Apr 13 Python
Python通过m3u8文件下载合并ts视频的操作
Apr 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
关于文本留言本的分页代码
2006/10/09 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
NodeJS有难度的面试题(能答对几个)
2019/10/09 NodeJs
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
保护环境的建议书
2014/03/12 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
公司表扬信格式
2015/05/04 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
Mysql开启外网访问
2022/05/15 MySQL