首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从父类下定义的函数更新多页GUI中的tkinter进度条

可以通过以下步骤实现:

  1. 首先,需要导入tkinter库,并创建一个主窗口对象。
代码语言:txt
复制
import tkinter as tk

root = tk.Tk()
  1. 创建一个父类,用于管理多个页面。这个父类可以包含一个函数,用于更新进度条的值。
代码语言:txt
复制
class PageManager:
    def __init__(self, root):
        self.root = root
        self.pages = []
        
        # 创建进度条和变量
        self.progress_var = tk.DoubleVar()
        self.progress_bar = tk.Progressbar(root, variable=self.progress_var)
        self.progress_bar.pack()
        
    def update_progress(self, value):
        self.progress_var.set(value)
  1. 创建多个子页面,每个子页面都包含一个按钮,点击按钮时调用父类的函数更新进度条。
代码语言:txt
复制
class Page(tk.Frame):
    def __init__(self, parent, page_manager):
        tk.Frame.__init__(self, parent)
        self.page_manager = page_manager
        
        # 创建按钮
        self.button = tk.Button(self, text="更新进度条", command=self.update_progress)
        self.button.pack()
        
    def update_progress(self):
        # 调用父类的函数更新进度条
        self.page_manager.update_progress(50)  # 这里的值可以根据实际需求进行修改
  1. 在主窗口中实例化父类和子页面,并将子页面添加到父类的页面列表中。
代码语言:txt
复制
page_manager = PageManager(root)

page1 = Page(root, page_manager)
page2 = Page(root, page_manager)

page_manager.pages.append(page1)
page_manager.pages.append(page2)
  1. 定义函数,用于切换页面显示。
代码语言:txt
复制
def show_page(page):
    page.pack()
    
def hide_page(page):
    page.pack_forget()
  1. 添加按钮,用于切换页面显示。
代码语言:txt
复制
button1 = tk.Button(root, text="页面1", command=lambda: show_page(page1))
button1.pack()

button2 = tk.Button(root, text="页面2", command=lambda: show_page(page2))
button2.pack()
  1. 运行主窗口的主循环。
代码语言:txt
复制
root.mainloop()

通过以上步骤,可以实现从父类下定义的函数更新多页GUI中的tkinter进度条。每个子页面中的按钮点击后,都会调用父类的函数来更新进度条的值。这样,在不同的子页面之间切换时,进度条的值也会相应地更新。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python爬虫:爬取你喜欢的高清图片

任务目标: 1.抓取不同类型的图片 2.编写一个GUI界面爬虫程序,打包成exe重新文件 3.遇到的难点 1.分析如何抓取不同类型的图片 首先打开网站,可以看到有如下6个类型的菜单 ?...url 将cid进行参数化,然后传给url即可 具体代码在以下定义 2.利用tkinter进行GUI编程 之前有写过一些tkinter编程的随笔 例如 利用python制作一个翻译工具 先来看一下这次设计的程序最终页面布局...模块中的askdirectory()方法实现 下面是在网上找到的一段示例代码 具体到这个例子, (1)定义一个文本框,用来存放(显示)选择的存储路径 (2)定一个按钮,来触发选择本地路径功能 (3)定义一个函数...,来实现选取路径功能 后续保存图片时,路径可以直接使用前面定义好的的self.input中的值 选择分类 因为图片分为了6个类别,每个类别对应一个cid值,所以可以预先把cid抽象出来,视为参数传递 (...在这里插入图片描述 自定义抓取深度,某些抓取前5页或者前10页 后面把这个文本文本的值传给url即可 3.遇到的问题 下载图片的名称无效,导致无法保存 有些图片没有名称,文件名就是.jpg, 这样在保存时会提示非法字符无法保存

1.3K20

Python Tkinter GUI

二,Tkinter的使用 先看一下GUI程序的开发,熟悉MFC的朋友应该不会陌生。...在GUI程序中,我们会有一个顶层窗口,在这个顶层窗口上可以包括所有的小窗口对象,像标签,按钮,列表框等等,也就是说顶层窗口时我们放置其他窗口或者控件的地方。...剩下的事就系统的了。 下面看看组件的配置。Tk中的每一个组件都有很多option,通过改变这些option可以改变组件的外观,比如显示的内容,颜色,大小,位置,事件处理函数等。...三,Tkinter的几何管理器 熟悉GUI编程的人知道,放好每个组件的是很繁琐的,不仅要调整自身大小,还要 整和其他组件的相对位置。...看一下代码: from tkinter import *  #引入模块 #resize函数是用来改变文字大小的,当进度条改变时调用 def resize(ev=None): label.config(font

1.8K30
  • 多线程GUI界面文件复制程序的解决方案

    下面是一个使用Python的Tkinter库和多线程实现的文件复制程序的示例:1、问题背景我们有一个简单的文件复制程序,它使用多线程来更新进度条,但是当我们运行程序时,GUI界面会卡住,并且进度条不会更新...2、解决方案为了解决这个问题,我们需要将进度条的更新移到一个单独的线程中,这样主线程就可以继续运行,而不会被进度条的更新阻塞。...我们创建了一个新的线程来更新进度条,这个线程与主线程是分开的,所以主线程不会被进度条的更新阻塞。...我们使用wx.CallAfter()函数来将进度条的更新移到主线程中,这样就可以确保进度条的更新不会阻塞其他线程。修改后的代码可以正常运行,并且进度条会随着文件的复制而更新,而GUI界面也不会卡住。...在这个示例中,由于文件操作通常是I/O密集型的,而不是CPU密集型的,因此使用多线程可以有效地提高文件复制的效率,同时保持GUI界面的响应性。

    12310

    用Python写软件原来这么简单,一个极易入门的GUI框架

    今天给大家介绍一个非常简单的GUI框架--PySimpleGUI,它是一个纯python的GUI框架。...使用PySimpleGUI的优点: 创建的界面和操作,与使用tkinter,Qt,WxPython和Remi一致。 同样功能,需要的代码量是其他框架的10%到50%。 没有回调函数。...访问几乎所有基础GUI框架的控件。 同时支持PySide2和PyQt5(有限支持) 通过仅更改导入语句,即可轻松地在tkinter,Qt,WxPython和Web(Remi)之间切换。...在Python中同时编写基于桌面和基于Web的GUI的唯一方法 从零开始发展为具有Python友好界面的纯Python实现。 对Python的新手和专家都具有吸引力。...GUI程序,可以在文档中复制需要的实例,调试修改成自己需要的最终界面,研究它们的设计模式和逻辑,慢慢你也能写出那些高大上的软件了。

    2.9K30

    【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?

    文章目录 前言 组件事件的使用方法 鼠标事件 获取Entry输入内容 进度条组件==Progressbar组件 拉伸窗体==Sizegrip组件 树形结构显示信息的组件==Treeview组件 前言...它通常用于表示任务的完成度或者程序的加载进度等。在不同的编程语言和框架中,Progressbar组件的实现方式可能会有所不同。...它可以让用户通过拖动来改变窗口的大小。在Qt中,可以使用QSizeGrip类来创建Sizegrip组件。...==Treeview组件 Treeview组件是一种可以在GUI界面中显示树形结构信息的组件,它通常用于显示文件夹结构、目录结构等。...在Python中,可以使用Tkinter库中的Treeview组件来实现这个功能。

    1.5K30

    Python Tkinter之初体验

    前言 官方用的GUI工具包——Tkinter(IDLE就是用这个开发的)。 Tkinter是Python的标准GUI库,它实际是建立在Tk技术上的。...python的GUI库非常多,选择 Tkinter,一是最为简单,二是自带库,不需下载安装,随时使用,三则是从需求出发,Python作为一 种脚本语言,或者说一种胶水语言,一般不会用它来开发复杂的桌面应用...,有个while,每点击一次就会更新一次,所以我们必须要有循环。...所有的窗口文件都必须有类似的mainloop函数,mainloop是窗口文件的关键的关键。 意思是一旦进入了主事件循环,就由Tkinter掌管一切了。现在不理解没关系,在后面的学习中你会有深刻的体会。...GUI程序的开发与以往的开发经验会有截然不同的感受。 通常如果要写一个比较大的程序,那么应该先把代码给封装起来。在面向对象的编程语言中,就是封装成类。

    1.7K20

    Python Tkinter Gui 常用组件介绍 基本使用

    Python Tkinter Gui 窗口图标,标签,输入,单复选,文件导入,按钮,日志 等常用组件 基本使用 ---- 文章目录 Python Tkinter Gui 窗口图标,标签,输入,...我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口; Tk是一个图形库,支持多个操作系统,使用Tcl语言开发; Tk会调用操作系统提供的本地GUI接口,完成最终的...GUI; tkinter库简介 python内置的GUI库,只要安装好 Python 环境之后就能 import tkinter 库; 基于Tk工具包,该工具包最初是为TCL设计的,后被应用到多种脚本语言中...,使脚本语言可以开发出品质较好的GUI应用,tkinter是用python做的一个调用接口,底层使用C++编写,运行效率上与C++编写的GUI应用相当,但是开发效率远远高于C++; ---- 本文思路:...Tk为我们提供了大量封装程序功能的函数和方法,丰富用户的体验感,后续有关于tk的常用代码会在这篇博客中持续更新。

    2.9K20

    通过Python爬虫获取【小说网站GUI】数据,保姆级教学

    : 前言         所有的前置环境以及需要学习的基础我都放置在【Python基础(适合初学-完整教程-学习时间一周左右-节约您的时间)】中,学完基础咱们再配置一下Python爬虫的基础环境【看完这个...爬取代码 核心技术点: 1、requests返回的数据格式需要看网页的具体编码 2、parsel根据接口返回数据结构来选择对应的解析方案 3、Progressbar进度条控制 注意点: 1、...多线程执行的时候只填写函数名称即可,不需要写括号 2、不需要使用bar.start(),直接进行bar["value"]值修改后进行root.update()即可刷新页面。...【https://laoshifu.blog.csdn.net/】") Label(root, text='例如:https://book.zongheng.com/book/1228049.html中的...后续我会打包生成下载GUI工具直接下载即可使用。 下载地址:【方便下载小说,小说都是公开免费的,放心下载】

    1K40

    Tkinter 入门之旅

    GUI) 只不过是一个桌面应用程序,可帮助我们与计算机进行交互 像文本编辑器这样的 GUI 应用程序可以创建、读取、更新和删除不同类型的文件 数独、国际象棋和纸牌等应用程序则是游戏版的GUI程序 还有...Tkinter 也是可以构建简单的类似应用程序的 今天我们作为 GUI 的入门,将创建一个非常简单且漂亮的 GUI 应用程序 用于创建GUI的 Python 库 Python 有大量的第三方类库,对于...我们定义了一个名为 clicked 的函数,可以显示一条文本消息,我们在按钮定义中添加一个名为 command 的参数,来调用点击事件 Entry 它用于在 GUI 中创建输入字段以接收文本输入 txt...Entry 类创建一个文本框,grid 定义我们希望窗口小部件位于何处 同时 clicked 函数接收 Entry 的文本信息 Combobox 这是一个带有某些选项的下拉菜单 from tkinter.ttk...binding 函数 每当事件发生时调用函数就是绑定函数 在下面的示例中,当单击按钮时,它会调用一个名为 say_hi 的函数。

    6.3K40

    Postman脚本批量转接口自动化用例

    2、简介 APICase-PostmanForJSON,采用 Python 编写,利用了Tkinter 进行 GUI 封装。...主要就是导入Postman 的json 文件(接口文件为必填,环境变量文件为选填),根据所要生成用例的方式设置是接口还是流程,如果系统自定义提取值没有想要获取的元素,可以在自定义提取值那填写自己所要的值...,之后点击运行就可以了,运行过程中进度条可以实时显示进度。...打开用例文件,可以看到生成后的用例格式,按接口方式生成,即相同的接口归为一类,可以看到有2类接口,自定义的提取值也提取出来了。 如果按照生成的用例方式为流程。...打开用例文件,可以看到有多少个接口就会生成多少个sheet页。本次示例有4个接口,那么就会生成4个sheet页(每一个接口为1个sheet页)。

    28910

    Python的GUI编程(一)Label

    (Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Python 使用 Tkinter 可以快速的创建 GUI 应用程序。...由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter...Python2.x中的为Tkinter而Python3.x中的为tkinter GUI编程前,先导入:import Tkinter Tkinter组件(即类)(15种) Tkinter的提供各种控件,如按钮...控件标签能够显示文本和图片 类的初始化函数(构造函数) def __init__(self, master=None, cnf={}, **kw): 第一个是self,即类对象本身。...";  (动态更新的)textvariable = str_obj,当str_obg的内容改变时,会更新Label中对应内容。

    2.2K20

    Python 图形化界面基础篇:在不同窗口之间传递数据

    Tkinter 库简介 在开始之前,让我们简要介绍一下 Tkinter 库。 Tkinter 是 Python 标准库中的一个模块,用于创建 GUI 应用程序。...步骤4:在窗口之间传递数据 要在窗口之间传递数据,我们可以定义一个共享的数据结构,例如一个全局变量或一个类,以存储需要传递的数据。然后,在需要的时候,我们可以在不同窗口之间读取或更新这些数据。...set_data_in_window_a 函数用于在窗口 A 中设置数据。在这个示例中,我们将文本数据"这是窗口 A 中的数据"存储在 shared_data 变量中。...这对于在 GUI 应用程序中共享信息、更新界面状态或执行特定操作非常有用。通过定义共享的数据结构和使用事件处理机制,我们可以轻松地实现数据的传递。...Tkinter 库提供了强大的工具和组件,用于构建交互性强大的 GUI 应用程序,满足不同用户的需求。继续学习 Tkinter ,你将能够开发更复杂和有趣的应用程序,提供更好的用户体验。

    1.1K20

    Python 图形化界面基础篇:理解 Tkinter 主事件循环

    在这篇文章中,我们将详细解释 Tkinter 主事件循环的工作原理,并提供示例代码以帮助你更好地理解。 什么是 Tkinter 主事件循环? 在 GUI 编程中,事件循环是一个重要的概念。...这些处理程序负责执行特定的操作,以响应事件。 3 . 更新窗口显示:在事件处理程序执行后,主事件循环会更新窗口的显示,以反映应用程序的状态变化。 4 ....创建一个 Tkinter 窗口对象。 3 . 设置窗口标题和添加 GUI 元素。 4 . 定义事件处理程序(回调函数)。 5 . 启动 Tkinter 主事件循环。 让我们逐步来看这些步骤。...当按钮被点击时, button_click 函数将被调用,标签的文本将被更新为“按钮被点击了!”。 步骤5:启动 Tkinter 主事件循环 最后,你需要启动 Tkinter 的主事件循环。...在接下来的教程中,我们将继续深入研究 Tkinter 的各个方面,包括添加更多 GUI 元素、处理不同类型的事件以及创建更复杂的 GUI 应用程序。

    91630

    Python 之 tkinter 学习笔记

    tkinter 简介 Tkinter 是 Tk GUI 工具包的 Python 绑定包。它是 Tk GUI 工具包的标准 Python 接口,并且是 Python 的业界标准 GUI 工具包。...tkinter 类 元素 说明 Button 按钮 在程序中显示按钮 Canvas 画布 提供绘制功能 Checkbutton 多选框 在程序中显示多选框 Combobox 下拉框 显示下拉框 Entry...当你点击按钮时,得不到任何响应,熟悉 GUI 编程的都知道控件都需要一个响应函数,让我们在点击按钮时得到反馈。 具体实现起来也很简单,我们只需要额外定义一个函数,将控件与这个函数绑定即可。...首先,我们需要知道的是有些控件可以通过传入特定参数直接和一个控件绑定,这种绑定是双向的: 如果该变量发生改变, 与该变量绑定的控件也会随之更新 下面的这段代码中,我们就创建了两个 StringVar 类型的变量...中变量类的一个,它保存一个 string 类型变量,默认值为 ""。

    7K20

    自己动手写软件——GUI编程

    这几天我有一个想法就是将我之前做测试写的一些协议脚本(如:ssh、FTP、SMTP、MySQL、Oracle等)综合在一起做一个密码破解器,这么多的协议放在一起,每个协议都有自己特殊的参数,如果还是和之前我们的方式一起通过命令行输入的方式未免就太麻烦了...出于这样的考虑,今天我们看一下图形用户界面(Graphical User Interface,GUI)编程,看了一下网上python的GUI编码库有很多,但是tkinter是内置库,所以我们还是选择这个内置库作为我们的工具对象了...我们今天就来学习一下tkinter的使用。后面几天我们也将持续更新我们密码破解工具的完成过程,有兴趣的小伙伴可以和菜鸟小白一起每天完成一部分内容,最终自己完成一个软件的编写。...GUI编码流程 将你的GUI程序启动和运行起来一般需要以下五个步骤: 导入模块,我们使用的就是import tkinter(或者from tkinter import *) 创建一个顶层窗口,用于放置所有的组件...在顶层窗口的上面构建不同的GUI组件 通过底层的应用代码将这些GUI组件连接起来 进入主事件循环 安装和使用 好了,回归正题,看看我们今天需要学习的tkinter,因为是内置库,所以我们不需要安装直接调用即可

    4.2K10

    Python Tkinter Gui 运行不卡顿,多线程解决界面卡死问题

    三、运行效果 四、代码示例 1.执行Button按钮绑定事件函数的线程方法 2.完整代码 五、组件的具体使用 ---- 前言 Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI...Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中,Python 使用 Tkinter 可以快速的创建 GUI 应用程序,由于 Tkinter 是内置到 python 的安装包中、...——摘编自Python GUI 编程(Tkinter) | 菜鸟教程 ---- 一、问题描述 Python GUI程序运行时,如果点击按钮运行了一个比较耗时的操作,那么界面会卡死提示未响应,导致无法操作其他组件...类对象 """ test_gui = TestGui(init_window) """ 初始化GUi组件 """ init_window.mainloop() 五、组件的具体使用...注意:代码中的关键部分都写了注释,本篇博客只是介绍了如何解决tk界面运行卡顿的问题; 关于组件的具体使用,请参考我的另一篇博客:更新中 免费在线视频转Gif网址:https://www.img2go.com

    3.4K20

    动态调整 tkinter 中 Spinbox 的范围

    在 Tkinter 中,Spinbox 的范围可以动态调整,这需要使用 Spinbox 的 config 方法来更新其参数,如 from_ 和 to。...该小部件的一个要求是,无论何时,使用的任何小部件都不得隐藏 GUI 的任何部分,因此排除了下拉列表等,从而使 Spinbox 成为明显的选择。...对于这两个问题,我考虑了 LEGB 问题,但没有嵌套函数,因此变量隐藏不应该成为问题——除非我的变量重复并隐藏了在 tkinter 等中定义的变量。我错过了什么?...关于更新日 Spinbox,我没有看到您尝试在何处更新它,因此我不确定为什么您认为它应该更新。要更新 Spinbox,请将命令附加到 month Spinbox,然后在回调中执行更新。...也许这是 tkinter 中的一个 bug 或文档记录不佳的功能,它是由此差异触发的。

    5810

    Python 图形化界面基础篇:添加按钮( Button )到 Tkinter 窗口

    在本文中,我们将专注于 Tkinter 中如何添加按钮( Button ),这是创建交互性 GUI 应用程序的关键元素之一。按钮用于触发操作,让用户与应用程序进行互动。...Tkinter 的按钮是一种 GUI 元素,通常用于触发操作或执行特定的任务。按钮可以包含文本或图像,并且当用户点击按钮时,可以执行与按钮相关联的函数或操作。...这个窗口将充当 GUI 应用程序的主窗口。 root = tk.Tk() 步骤3:创建按钮( Button ) 要创建一个按钮,你可以使用 Button 类。...我们定义了一个名为 button_click 的响应函数,它将在按钮被点击时执行。在这个示例中,我们将标签的文本更新为"按钮被点击了!"。...在接下来的教程中,我们将继续学习如何添加其他 GUI 元素,处理不同类型的事件,并构建更丰富和功能强大的图形用户界面应用程序。

    2.8K30

    python编程之GUI的选择

    作为一种胶水型语言,python几乎可以***在我们编程过程中的各个领域。这里我简单介绍一下用 python进行gui开发的一些选择。...1、Tkinter     Tkinter似乎是与tcl语言同时发展起来的一种界面库。tkinter是python的配备的标准gui库,也是opensource的产物。...你或许在以后的开发中并不常用tkinter,但是一些小型的应用上面,他还是很有用的,而且开发速度也很快。...wxpython的功能上面要强于tkinter,她提供了超过200个类,面向对象的编程风格,设计的框架类似于 MFC。对于大型GUI应用上面,wxPython还是具有很强的优势的。...3、PyQT     Qt同样是一种开源的GUI库,Qt的类库大约在300多个,函数大约在5700多个。Qt同样适合于大型应用,由它自带的qt designer可以让我们轻松来构建界面元素。

    1.5K10
    领券