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连接mssql数据库编码问题解决方法
Jan 01 Python
Python基于动态规划算法解决01背包问题实例
Dec 06 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
python基于物品协同过滤算法实现代码
May 31 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
python gdal安装与简单使用
Aug 01 Python
Python如何使用turtle库绘制图形
Feb 26 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
django有哪些好处和优点
Sep 01 Python
重构Python代码的六个实例
Nov 25 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
Python面向对象编程之类的概念
Nov 01 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
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
event.srcElement+表格应用
2006/08/29 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
javascript 数组操作详解
2015/01/29 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
护士的自我鉴定
2014/02/07 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
社区党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
公司人事管理制度
2015/08/05 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
浅析Python中的随机采样和概率分布
2021/12/06 Python