PyQt5自制GUI的使用笔记(三)

一.窗口的选择

在这里插入图片描述  Qt新建窗体,一共有三种类型,分别是QDialog、QMainWindow、QWidget。在大多数场景下,三者没有区别,大家可以任意选择(如果你想搞明白三者不同,可以自行搜索)。唯独需要注意QMainWindow拥有菜单栏、状态栏和工具栏,而QDialog和QWidget是没有的。如果在你的设计中需要使用这些栏目,请选择QMainWindow。
在这里插入图片描述
  在第一次新建窗体时,系统默认创建QMainWindow类,如果你觉得菜单栏或状态栏或工具栏没有用或状态栏太影响美观,可以右键选中栏目将之移除;后续也可以右键MainWindow将之添加回来。

二.给菜单栏添加关联的方法(处理函数)

直接上代码:

class Window(QMainWindow, Ui_MainWindow):  
    def __init__(self):                    
        super().__init__()                 
        self.setupUi(self) 
        self.objectName.triggered.connect(self.start) 

    def start(self):
        print('hello world')
        pass

三.子窗口调用

  在GUI界面的设计过程中,可能会遇到需要跳转到新的界面,或者多个界面之间的调用。
  在调用子界面时,我们只需要将子界面的类进行实例化,然后再通过show()函数将其显示即可
  一定要在子界面创建的实例的变量名前加self,否则子界面可能一闪而过。

class Window(QMainWindow, Ui_MainWindow):  
    def __init__(self):                    
        super().__init__()                 
        self.setupUi(self) 
        self.objectName.triggered.connect(self.start) 

    def start(self):
        self.window2 = window2()     # 创建子界面的类的实例
        self.window2.show()
        pass

class window2(Ui_Form2, QWidget):   
    def __init__(self):
        super().__init__()
        self.setupUi(self)


if __name__ == '__main__':
    app = QApplication([])
    app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
    window = Window()  # 创建一个 类Window 的实例
    window.show()  # 创建 window 对象后,必须使用 .show() 使其可见。
    app.exec_()  # 事件循环

利用self.hide()能将主界面隐藏,self.show()能将主界面重新展示:

    def start(self):
        self,hide()
        self.window2 = window2()     # 创建子界面的类的实例
        self.window2.show()
        # self.show()
        pass

  但如果self.hide()和self.show()同时出现在一个函数内,则主界面隐藏一瞬后又重新出现。
  如何实现打开子界面时隐藏主界面,关闭子界面时重新展示主界面呢?希望大家能不吝赐教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值