Python tkinter模块中类继承的三种方式分析

发布时间 - 2026-01-11 02:41:22    点击率:

本文实例讲述了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 Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# Python  # tkinter模块  # 类继承  # Python 继承  # 重写  # super()调用父类方法操作示例  # Python 多线程其他属性以及继承Thread类详解  # python3中类的继承以及self和super的区别详解  # Python3.5面向对象程序设计之类的继承和多态详解  # Python子类继承父类构造函数详解  # 对python中类的继承与方法重写介绍  # Python类定义和类继承详解  # Python类成员继承重写的实现  # 进阶  # 操作技巧  # 相关内容  # 两种  # 感兴趣  # 数据结构  # 给大家  # 三种  # 几种  # 更多关于  # 这句  # 所述  # 程序设计  # 有三种  # 使用技巧  # 编程技巧  # 讲述了  # strong  # object  # medium 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Linux后台任务运行方法_nohup与&使用技巧【技巧】  Laravel如何实现文件上传和存储?(本地与S3配置)  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  BootStrap整体框架之基础布局组件  如何选择可靠的免备案建站服务器?  如何用好域名打造高点击率的自主建站?  linux top下的 minerd 木马清除方法  深入理解Android中的xmlns:tools属性  免费网站制作appp,免费制作app哪个平台好?  智能起名网站制作软件有哪些,制作logo的软件?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何在宝塔面板中修改默认建站目录?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  php json中文编码为null的解决办法  高性价比服务器租赁——企业级配置与24小时运维服务  高端智能建站公司优选:品牌定制与SEO优化一站式服务  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  用v-html解决Vue.js渲染中html标签不被解析的问题  黑客入侵网站服务器的常见手法有哪些?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  iOS UIView常见属性方法小结  如何快速完成中国万网建站详细流程?  Laravel如何处理表单验证?(Requests代码示例)  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  如何快速打造个性化非模板自助建站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  Laravel API资源类怎么用_Laravel API Resource数据转换  如何用虚拟主机快速搭建网站?详细步骤解析  如何在万网开始建站?分步指南解析  Laravel如何处理异常和错误?(Handler示例)  如何在建站宝盒中设置产品搜索功能?  EditPlus 正则表达式 实战(3)  如何快速上传自定义模板至建站之星?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  如何用免费手机建站系统零基础打造专业网站?  IOS倒计时设置UIButton标题title的抖动问题  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  如何快速生成专业多端适配建站电话?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  如何用JavaScript实现文本编辑器_光标和选区怎么处理  微信小程序 闭包写法详细介绍  如何在阿里云ECS服务器部署织梦CMS网站?  高端建站如何打造兼具美学与转化的品牌官网?  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解