PyQt5创建主窗口

QMainWindow:可以包含菜单栏、工具栏、状态栏和标题栏,是最常见的窗口形式。

QDialog:是对话窗口的基类。没有菜单栏、工具栏和状态栏。

QWidget:不确定窗口的用途,就使用这个。

import sys
from PyQt5.QtWidgets import QMainWindow,QApplication
from PyQt5.QtGui import QIcon
class FirstMainWin(QMainWindow):
    def __init__(self,parent=None):
        super(FirstMainWin,self).__init__(parent)
        #设置主窗口的标题
        self.setWindowTitle('第一个主窗口应用')
        #设置窗口的尺寸
        self.resize(400,300)
        self.status = self.statusBar()
        self.status.showMessage('只存在5秒的消息',5000)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.setWindowIcon(QIcon('./images/weixiu.png'))
    main = FirstMainWin()
    main.show()
    sys.exit(app.exec_())

PyQt5创建主窗口_第1张图片

退出应用程序

import sys
from PyQt5.QtWidgets import QHBoxLayout,QMainWindow,QApplication,QWidget,QPushButton

class QuitApplication(QMainWindow):
    def __init__(self):
        super(QuitApplication,self).__init__()
        self.resize(300,120)
        self.setWindowTitle('退出应用程序')
        #添加button
        self.button1 = QPushButton('退出应用程序')
        #将信号与槽关联
        self.button1.clicked.connect(self.onClick_Button)
        layout = QHBoxLayout()
        #把button放在QHBoxLayout上
        layout.addWidget(self.button1)
        #把QHBoxLayout放在QWidget上
        mainForm = QWidget()
        mainForm.setLayout(layout)
        self.setCentralWidget(mainForm)

    #按钮单击事件的方法(自定义的槽)
    def onClick_Button(self):
        sender = self.sender()
        print(sender.text()+'按钮被按下')
        app = QApplication.instance()
        #退出应用程序
        app.quit()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QuitApplication()
    main.show()
    sys.exit(app.exec_())

PyQt5创建主窗口_第2张图片

你可能感兴趣的:(PyQt5创建主窗口)