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_())
退出应用程序
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_())