QMainWindow, QWidget, QDialog三个类都是用来创建窗口的,可以直接使用或继承后再使用。QMainWindow窗口可以包含菜单栏、工具栏、状态栏、标题栏等,是最常见的窗口形式,也是GUI程序的主窗口。QDialog是对话框窗口的基类。对话框主要用来执行短期任务,或者与用户互动,它可以是模态的,也可以是非模态的。QDialog窗口没有菜单栏、工具栏、状态栏等。
创建一个简单的窗口: import sys from PyQt5.QtWidgets import QMainWindow, QApplicationclass MainWindow(QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.resize(400, 200) self.status = self.statusBar() self.status.showMessage('这是一个状态栏', 5000) self.setWindowTitle('主窗口实例')if __name__ == '__main__': app = QApplication(sys.argv) form = MainWindow() form.show() sys.exit(app.exec_()) 效果图: 实例二
import sys from PyQt5.QtWidgets import QMainWindow,QApplication,QPushButton,QHBoxLayout,QWidget,QDesktopWidget class MainWindow(QMainWindow): def __init__(self,parent=None): super(MainWindow, self).__init__(parent) #窗体设置 self.resize(300, 200) self.setWindowTitle('关闭窗口') self.center() #按钮设置 self.btn = QPushButton('关闭') self.btn.clicked.connect(self.onBtnClickCloseWin) #单击事件 #布局 layout = QHBoxLayout() layout.addWidget(self.btn) widGet=QWidget() widGet.setLayout(layout) self.setCentralWidget(widGet) #窗体居中 def center(self): self.size=QDesktopWidget().screenGeometry() self.resize=self.geometry() self.move((self.size.width()-self.resize.width())/2,(self.size.height()-self.resize.height())/2) def onBtnClickCloseWin(self): #发送消息对象 sender=self.sender() print( sender.text() + ' 被按下了' ) appInstance=QApplication.instance() appInstance.quit()if __name__=='__main__': app=QApplication(sys.argv) mainWindow=MainWindow() mainWindow.show() sys.exit(app.exec_()) 效果图: 完结,后续持续更新PyQt5的相关内容. |
|
来自: 我的人生宝库 > 《电脑(软件应用)》