首页 > 其他分享 >tkinter窗口切换

tkinter窗口切换

时间:2023-08-27 13:34:51浏览次数:35  
标签:窗口 self second window 切换 tkinter root tk

以下是使用tkinter实现窗口的创建、销毁和双向切换的示例代码:

 

```python

import tkinter as tk

 

class App:

    def __init__(self, root):

        self.root = root

        self.root.title("Tkinter窗口")

        self.root.geometry("300x200")

        self.create_widgets()

 

    def create_widgets(self):

        # 创建标签

        label1 = tk.Label(self.root, text="这是第一个窗口", font=("Arial", 16))

        label1.pack(pady=50)

 

        # 创建按钮

        button1 = tk.Button(self.root, text="切换到第二个窗口", command=self.switch_window)

        button1.pack(pady=100)

 

        # 创建第二个窗口

        self.second_window = tk.Toplevel(self.root)

        self.second_window.title("第二个窗口")

        self.second_window.geometry("300x200+{}+{}".format(self.root.winfo_screenwidth()//2-150, self.root.winfo_screenheight()//2-100))

 

        # 在第二个窗口中添加标签

        label2 = tk.Label(self.second_window, text="这是第二个窗口", font=("Arial", 16))

        label2.pack(pady=50)

 

        # 在第二个窗口中添加按钮

        button2 = tk.Button(self.second_window, text="切换回第一个窗口", command=self.switch_window)

        button2.pack(pady=100)

 

    def switch_window(self):

        if self.second_window.winfo_exists():

            self.second_window.destroy()

        else:

            self.create_widgets()

 

if __name__ == "__main__":

    root = tk.Tk()

    app = App(root)

    root.mainloop()

```

 

在这个示例中,我们创建了一个名为App的类,它包含了创建窗口、切换窗口的方法。在初始化方法中,我们创建了两个标签和一个按钮,并调用了create_widgets方法来创建这些组件。在create_widgets方法中,我们首先创建了第一个窗口中的标签和按钮,然后创建了第二个窗口,并在其中添加了标签和按钮。最后,我们定义了一个名为switch_window的方法,用于切换窗口。当点击按钮时,会调用这个方法来实现窗口的切换。

 

标签:窗口,self,second,window,切换,tkinter,root,tk
From: https://www.cnblogs.com/full-stack-linux-new/p/17660186.html

相关文章

  • cpu-模拟进程上下文切换
    目录1、升级环境,安装stress-ng工具2、进程上下文切换-模拟场景3、进程上下文切换-top命令4、vmstat1命令-每隔1s显示一次数据5、pidstat-w3-找有问题的进程id6、总结7、分析过程-找到有问题的进程正文 1、升级环境,安装stress-ng工具#安装epel源,更新系统......
  • vue+element根据表单中选项切换,更改表单验证规则
    表单:<el-form-itemlabel="周期间隔(天)"prop="periodSpace"v-if="isServicePeriod"><el-inputv-model="form.periodSpace"type="number"placeholder="请输入周期间隔(天)"/></el-form-item>data:......
  • 剑指 Offer 59 - I. 滑动窗口的最大值
    题不难,但理解思路很重要。做法是单调队列。如果求滑动窗口的最大值,那么必须在单调队列保持严格单调递减(只能小于,小于等于也不行),为啥不行还不是很清楚。并且,单调队列一定存储的是数组的索引!!否则无法确定滑动窗口的开始位置以及开始时的队列存储最大值的情况。classSolution{......
  • ImGui界面优化:使用图标字体、隐藏主窗口标题栏
    目录使用图标字体扩展:内存加载字体隐藏主窗口标题栏增加程序退出改进HideTabBar窗口最大化总结本文主要介绍ImGui应用中的一些界面优化方法,如果是第一次使用ImGui推荐从上一篇文章开始:使用C++界面框架ImGUI开发一个简单程序,最终的界面效果如下:使用图标字体下载IconFontCppHead......
  • 数据窗口单元格中输入值后直接保存时提示未输入,需要点击两次才能保存,这是输入值没有按
    解决办法:在保存事件起始位置判断IFdw_1.AcceptText()=-1ordw_2.AcceptText()=-1ThenReturn-1//将控件内容置于系统缓存区IFdw_1.of_updatespending()+dw_2.of_updatespending()=0thenReturn0//两个数据窗口没改变直接退出(改变时=1) ......
  • WPF中窗口控件的跨线程调用
    在多线程里面,UI是不能直接跨线程使用的。在WinForm中,我们要跨线程访问窗口控件,只需要设置属性CheckForIllegalCrossThreadCalls=false;即可。在WPF中要设置Dispatcher属性。msg为要输出的内容privatedelegatevoidoutputDelegate(stringmsg);privatev......
  • Tomcat启动黑窗口一闪而过
    Tomcat启动黑窗口一闪而过一、解决方案首先要确定Tomcat为什么会一闪而过,那么就要看黑窗口一闪而过的时候显示了什么。cmd命令进入Tomcat的bin目录,输入startup.bat(若已配置环境,可直接输入指令),回车。这样黑窗口就不会关闭,而是会显示出正常信息或者报错信息。如果你的信息和下图......
  • 窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
    本文分享自华为云社区《窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理》,作者:LionLong。当涉及网络性能优化和数据传输可靠性时,TCP/IP滑动窗口是一个关键的技术。本文将深入揭示TCP/IP滑动窗口的工作原理,探讨其在确保数据准确性和实现高效通信方面的重要性。通过对滑动窗口大小、......
  • 窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
    本文分享自华为云社区《窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理》,作者:LionLong。当涉及网络性能优化和数据传输可靠性时,TCP/IP滑动窗口是一个关键的技术。本文将深入揭示TCP/IP滑动窗口的工作原理,探讨其在确保数据准确性和实现高效通信方面的重要性。通过对滑动窗口大小、......
  • 窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
    本文分享自华为云社区《窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理》,作者:LionLong。当涉及网络性能优化和数据传输可靠性时,TCP/IP滑动窗口是一个关键的技术。本文的摘要将深入揭示TCP/IP滑动窗口的工作原理,探讨其在确保数据准确性和实现高效通信方面的重要性。通过对滑动窗......