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对列表排序的方法实例分析
May 16 Python
Python中splitlines()方法的使用简介
May 20 Python
python+logging+yaml实现日志分割
Jul 22 Python
Django实现文件上传下载功能
Oct 06 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
django框架F&Q 聚合与分组操作示例
Dec 12 Python
关于tf.reverse_sequence()简述
Jan 20 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
Python selenium自动化测试模型图解
Apr 15 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
浅析python函数式编程
Sep 26 Python
Python如何使用神经网络进行简单文本分类
Feb 25 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下使用无限生命期Session的方法
2007/03/16 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
php操作MongoDB类实例
2015/06/17 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
vue实现简单图片上传
2020/06/30 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
Django中实现点击图片链接强制直接下载的方法
2015/05/14 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
Python中函数的返回值示例浅析
2019/08/28 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
pymongo insert_many 批量插入的实例
2020/12/05 Python
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
天巡全球:Skyscanner Global
2017/06/20 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
优秀工会工作者事迹材料
2014/06/02 职场文书
公司周年庆典标语
2014/10/07 职场文书
采购员岗位职责
2015/02/03 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
Python提取PDF指定内容并生成新文件
2021/06/09 Python
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技