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科学计算之NumPy入门教程
Jan 15 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
Jan 18 Python
Python中使用haystack实现django全文检索搜索引擎功能
Aug 26 Python
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
python使用html2text库实现从HTML转markdown的方法详解
Feb 21 Python
Python用类实现扑克牌发牌的示例代码
Jun 01 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
python如何使用腾讯云发送短信
Sep 17 Python
python连接mongodb数据库操作数据示例
Nov 30 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 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 静态变量与自定义常量的使用方法
2010/01/26 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
如何确保JavaScript的执行顺序 之jQuery.html深度分析
2011/03/03 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
微信小程序(应用号)开发新闻客户端实例
2016/10/24 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
React Router v4 入坑指南(小结)
2018/04/08 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
JS实现骰子3D旋转效果
2019/10/24 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
python基础教程之获取本机ip数据包示例
2014/02/10 Python
Python实现文件复制删除
2016/04/19 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
python 内置函数汇总详解
2019/09/16 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
爱的承诺书
2015/01/20 职场文书
电影雨中的树观后感
2015/06/15 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技