python pyqt6单窗口多界面实现

本文介绍了使用PyQt6创建单窗口应用程序并实现多界面切换的三种方法:主窗口套子窗口、左右窗口切换和StackedLayout堆叠布局。详细讲解了窗口隐藏、切换功能以及窗口关闭的操作,并提供了相关参考资料和完整代码示例。
摘要由CSDN通过智能技术生成

pyqt6 简单窗口

1.首先,我们先来实现一个简单的窗口

class Example4(QWidget):
    def __init__(self):
        super(Example4, self).__init__()
        self.init()

    def init(self):
        # 部件显示方法一,定义父类
        label = QLabel("标签1", parent=self)
        # 部件显示方法二,不定义父类
        label2 = QLabel("标签2")
        hbox = QHBoxLayout()
        hbox.addWidget(label2)
        self.setLayout(hbox)

        self.setFixedSize(300, 150)
        self.setWindowTitle("测试4")
        self.show(
        
pp = QApplication(sys.argv)
ex4=Example4()
sys.exit(app.exec())

实现效果如下:
请添加图片描述

2.这里我们注意label标签的显示,如果后面没有parent=self这个参数,就需要我们把部件放在布局中,然后通过给父类部件设置布局的方式来添加这个部件。

单窗口多界面的实现方式

这里多界面以左右两个界面为例。在左界面中有两个按钮。按钮1和按钮2,点击按钮1切换到右界面1,点击按钮2切换到右界面2.

窗口隐藏

1.主窗口套子窗口

这种方法需要我们在QMainWindow部件下实现。
1.我们定义一个主窗口,一个左窗口,和两个右窗口。
2.设置QMainWindow的中心部件为主窗口,默认布局为水平布局QHBoxLayout

    def __init__(self):
        super(Example, self).__init__()
        self.main_layout = QHBoxLayout()
        self.main_widget = QWidget()
        self.main_widget.setLayout(self.main_layout)

        self.left_widget = QWidget()

        self.right_wight = QWidget()
        self.right_wight2 = QWidget()
        
        self.initui()

3.在主窗口的水平布局里面添加左窗口和右窗口,并设置第二个右窗口为隐藏。

    def initui(self):
        self.init_left()
        self.init_right()

        self.main_layout.addWidget(self.left_widget)
        self.main_layout.addWidget(self.right_wight)
        self.main_layout.addWidget(self.right_wight2)
        self.right_wight2.hide()
        self.setCentralWidget(self.main_widget)  # 设置窗口主部件 ,注意,没有设置主部件,QMainWindows 里面所有部件将不会显示
        # 固定大小300x150
        self.setFixedSize(300, 150)
        self.setWindowTitle("测试")
        self.show()

4.设置左窗口的布局为垂直布局QVBoxLayout,并向其添加两个按钮,按钮1和按钮2。定义按钮1的功能为隐藏右窗口2,显示右窗口1(如果有其他更多的窗口,同理只显示窗口1就行)

    def init_left(self):
        # 左窗口2个按钮
        btn1 = QPushButton("按钮1")
        btn2 = QPushButton("按钮2")

        btn1.clicked.connect(self.switch_to_r1)
        btn2.clicked.connect(self.switch_to_r2)

        vbox = QVBoxLayout()
        vbox.addWidget(btn1)
        vbox.addWidget(btn2)

        self.left_widget.setFixedSize(150,150)
        self.left_widget.setLayout(vbox)

5.右窗口也设置其布局为垂直布局,并添加标签。

    def init_right(self):
        # 右窗口1
        label1 = QLabel("标签1")
        vbox = QVBoxLayout()
        vbox.addWidget(label1)
        self.right_wight.setLayout(vbox)

        # 右窗口2
        label2 = QLabel("标签2")
        vbox2 = QVBoxLayout()
        vbox2.addWidget(label2)
        self.right_wight2.setLayout(vbox2
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyQt5 Designer 是一个用于创建 PyQt5 图形用户界面 (GUI) 的工具。它提供了一个可视化的界面设计器,可以帮助用户创建和编辑 PyQt5 应用程序的用户界面。 在 PyQt5 Designer 中,提示窗口是一种用于提供信息和建议的工具。它可以在用户创建界面时提供有用的提示和警告,以帮助用户避免错误和问题。 以下是一些使用 PyQt5 Designer 提示窗口的常见场景: 1. 验证输入:提示窗口可以在用户尝试输入无效数据时弹出,提供错误信息和建议的解决方案。 2. 错误处理:当出现错误或异常时,提示窗口可以显示错误消息并提供相应的解决方案。 3. 界面调整:当用户尝试调整界面布局或组件位置时,提示窗口可以提供建议和提示,以帮助用户更好地控制界面布局。 4. 自定义提示:用户可以根据自己的需要自定义提示窗口的外观和行为。可以使用 PyQt5 Designer 中的样式表和脚本语言来定制提示窗口的样式和行为。 要使用 PyQt5 Designer 的提示窗口,可以按照以下步骤操作: 1. 在设计器中创建一个新的界面或修改现有的界面。 2. 在界面中添加需要使用提示窗口的组件。 3. 在设计器中设置组件的相关属性,如验证类型、错误处理方式等。 4. 如果需要,可以使用设计器中的样式表和脚本语言自定义提示窗口的外观和行为。 5. 保存并运行 PyQt5 应用程序,如果需要,可以尝试在运行时查看提示窗口是否正常显示和响应。 请注意,具体的使用方法和操作步骤可能因版本和配置而有所不同,建议参考官方文档或相关资源以获取更详细的信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值