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_())