python tkinter多个软件界面切换功能实现

这篇具有很好参考价值的文章主要介绍了python tkinter多个软件界面切换功能实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python tkinter多个软件界面切换功能实现

小程序的实现采用python中的tkinter创建主窗口,切换窗口采用tkinter模块的的frame窗口控件进行创建,通过不同的按键调用显示不同的操作界面。操作界面的显示使用try…except…finally进行显示。思路:在tkinter中想要实现多个界面的切换,需要创建多个frame,而当frame01切换至frame02或frame03时,需要将当前的显示界面进行关闭,再显示其他的窗口。假设在程序编写过程中,程序主要在界面frame01中进行实现,没有在界面frame02、frame03中进行实现,按钮控件调用frame02 、frame03时软件就会报错,因此程序中采用try…except来处理程序运行异常。因此开始程序书写如下:

try:
	frame1.destroy()
	frame2.destroy()
	frame3.destroy()
except:
	pass

但是在此程序中,如果frame01不存在,程序直行道frame01,程序即运行停止,不会执行后面的程序。因此在程序中采用try…except…finally来执行程序,这样不管前面的是否报错,最后都会执行finally后面的代码。

  1. 多界面代码实现如下
    实现程序如下:
import tkinter
from tkinter import *
from ttkbootstrap import *


class MainWindows(Tk):
    def __init__(self):
        super().__init__()
        self.title("界面切换测试程序")  # 给界面添加一个标题
        self.geometry("544x344+400+200")  # 定义界面尺寸
        # self.resizable(0, 0)  # 定义界面窗口大小不可改变

        # 调用常用变量
        self.setup_main_gui()

    def setup_main_gui(self):
        # 给界面设置一个主题
        self.style = Style(theme="flatly")
        # 创建一个界面标题
        self.label_title = Label(self, text="多界面切换测试程序", font="微软雅黑 20 bold", relief="groove")
        self.label_title.place(relwidth=1, relheight=0.18, relx=0, rely=0)
        # 创建左侧按钮显示区域
        self.Pane_left = PanedWindow(self, relief="groove")
        self.Pane_left.place(relwidth=0.15, relheight=0.82, relx=0, rely=0.18)
        # 创建界面01控制按钮
        self.button_frame01 = Button(self.Pane_left, text="界面一", font="微软雅黑 12 bold", command=self.createframe01)
        self.button_frame01.place(relwidth=1, relheight=0.08, relx=0, rely=0.2)
        # 创建界面02控制按钮
        self.button_frame02 = Button(self.Pane_left, text="界面二", font="微软雅黑 12 bold", command=self.createframe02)
        self.button_frame02.place(relwidth=1, relheight=0.08, relx=0, rely=0.5)
        # 创建界面03控制按钮
        self.button_frame03 = Button(self.Pane_left, text="界面三", font="微软雅黑 12 bold", command=self.createframe03)
        self.button_frame03.place(relwidth=1, relheight=0.08, relx=0, rely=0.8)

    def setup_frame01(self):
        self.frame01 = Frame(self, relief="groove")
        self.frame01.place(relwidth=0.84, relheight=0.82, relx=0.16, rely=0.18)
        self.label_01 = Label(self.frame01, text="界面显示一", font="微软雅黑 12 bold", bg="green")
        self.label_01.place(relwidth=1, relheight=1, relx=0, rely=0)

    def setup_frame02(self):
        self.frame02 = Frame(self, relief="groove")
        self.frame02.place(relwidth=0.84, relheight=0.82, relx=0.16, rely=0.18)
        self.label_02 = Label(self.frame02, text="界面显示二", font="微软雅黑 12 bold", bg="red")
        self.label_02.place(relwidth=1, relheight=1, relx=0, rely=0)

    def setup_frame03(self):
        self.frame03 = Frame(self, relief="groove")
        self.frame03.place(relwidth=0.84, relheight=0.82, relx=0.16, rely=0.18)
        self.label_03 = Label(self.frame03, text="界面显示三", font="微软雅黑 12 bold", bg="blue")
        self.label_03.place(relwidth=1, relheight=1, relx=0, rely=0)

    def createframe01(self):
        try:
            self.frame01.destroy()
        except:
            pass
        finally:
            try:
                self.frame02.destroy()
            except:
                pass
            finally:
                try:
                    self.frame03.destroy()
                except:
                    pass
                finally:
                    self.setup_frame01()

    def createframe02(self):
        try:
            self.frame01.destroy()
        except:
            pass
        finally:
            try:
                self.frame02.destroy()
            except:
                pass
            finally:
                try:
                    self.frame03.destroy()
                except:
                    pass
                finally:
                    self.setup_frame02()

    def createframe03(self):
        try:
            self.frame01.destroy()
        except:
            pass
        finally:
            try:
                self.frame02.destroy()
            except:
                pass
            finally:
                try:
                    self.frame03.destroy()
                except:
                    pass
                finally:
                    self.setup_frame03()


if __name__ == "__main__":
    windows = MainWindows()
    windows.mainloop()

视频功能实现查看地址https://live.csdn.net/v/350830
python thinker 菜单不同按钮切换不同界面,python gui开发,python,开发语言,前端python thinker 菜单不同按钮切换不同界面,python gui开发,python,开发语言,前端python thinker 菜单不同按钮切换不同界面,python gui开发,python,开发语言,前端

python thinker 菜单不同按钮切换不同界面,python gui开发,python,开发语言,前端文章来源地址https://www.toymoban.com/news/detail-815276.html

到了这里,关于python tkinter多个软件界面切换功能实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ QA问答是Question-and-Answer的缩写,根据用户提出的问题检索答案,并用用户可以理解的自然语言回答用户,问答型客服注重一问一答处理,侧重知识的推理。 从应用领域视角,可将问答系统分为限定域问答系统和开放域问

    2023年04月12日
    浏览(67)
  • python图形界面教程(tkinter)

    1、图形化界面设计的基本理解 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI),即通过鼠标对菜单、按钮等图形化元素触发指令,并从标签、对话框等图型化显示容器中获取人机对话信息。 Python自带了tkinter 模块,实质上是一种流行的面向对象

    2024年02月16日
    浏览(47)
  • Python图形界面开发:Tkinter与PyQt

    Python是一种非常流行的编程语言,它拥有丰富的图形用户界面(GUI)开发库。其中,Tkinter和PyQt是最常用的两个库。下面是对这两个库的简单介绍。 1. Tkinter Tkinter是Python的标准图形用户界面库。它提供了一组简单的工具和函数,可以用来创建各种类型的窗口、按钮、文本框等

    2024年01月25日
    浏览(40)
  • Python编程:Tkinter图形界面设计(1)

    目录 一、Tkinter的程序框架  二、窗口内容 2.1 窗口的几何尺寸 2.2 窗口的摆放位置 2.3  实验代码 2.4 控件管理 三、控件编程 窗口的生成和窗口的呈现,用Tk()和mainloop()包括起来,中间程序是附着在窗口的内部部件。 ​ 窗口的内容,是最丰富的细节包括:1、几何尺寸 2、按钮

    2024年02月07日
    浏览(52)
  • Python GUI界面界面—tkinter,学习、复习、查阅,这一篇就够了

            PythonGUI程序界面设计tkinter优点:无需另外下载,是自带的、操作简单、易方便;                                                          缺点:界面控件较少,页面不够美观 注:一般来说做小软件tkinter足够了(页面可以用ttkbootstrap美化

    2024年01月17日
    浏览(55)
  • Python 图形化界面基础篇:安装 Tkinter 指南

    在学习 Python 图形化处理基础篇之前,首先需要安装 Tkinter ,这是 Python 标准库中用于创建图形用户界面( GUI )的库。 Tkinter 提供了一个简单而强大的方式来构建 GUI 应用程序,无论你是初学者还是有经验的开发者,都会发现它非常有用。在本文中,我们将深入讨论如何安装

    2024年02月07日
    浏览(41)
  • 用jsp实现简单登入注册界面功能(css美化)(软件idea)

    号外号外,我最近发现了一个非常棒的人工智能学习网站,它的内容通俗易懂,风趣幽默,让人印象深刻。我想和大家分享这个网站,点击链接即可访问。 首先我们来看看效果 创建项目,再添加框架支持,把文件全部创建到通一个目录里面,新建image文件夹,放入我们的背景

    2024年02月03日
    浏览(47)
  • Python界面编辑器Tkinter布局助手使用说明

    Tkinter布局助手是一款为Tkinter打造,仅需拖拽组件进行布局,所见即所得,非常方便就能做出一个GUI界面,再配合 pyinstaller 库将程序打包成exe,简直是开发小工具的利器。 当第一次接触到Tkinter,觉得它很方便,兼容性也挺不错,而且是Python自带的。 后来为了方便布局,我开

    2024年03月15日
    浏览(52)
  • Python+Tkinter 图形化界面基础篇:添加图形和图像

    在 Python 图形化界面开发中,添加图形和图像可以使你的应用程序更具吸引力和可交互性。本篇博客将介绍如何在 Tkinter 中添加图形元素、绘制基本图形以及显示图像。我们将详细讨论这些概念,并提供示例代码以帮助你更好地理解。 在 Tkinter 中,可以使用 Canvas 小部件来添

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包