300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > pyqt 子窗口控制主窗口绘图_实战PyQt5: 005-主窗口QMainWindow

pyqt 子窗口控制主窗口绘图_实战PyQt5: 005-主窗口QMainWindow

时间:2024-01-02 10:17:48

相关推荐

pyqt 子窗口控制主窗口绘图_实战PyQt5: 005-主窗口QMainWindow

QMainWindow简介

在桌面应用中,一个应用软件通常都会包含一个主窗口,主窗口是承载所有控件的窗体, 在PyQt5中常用的主窗体有两种QMainWindow和QDialog,他们也都继承自QWidget,所以这三个类都可以用来创建主窗口,可以直接使用,也可以继承后再使用。

如果一个窗口包含一个或者多个窗口,这个窗口就是父窗口,被包含的窗口就是子窗口。没有父窗口的窗口就是顶层窗口,QMainWindow就是顶层窗口,它可以包含很多界面元素。QMainWindow窗口可以包含菜单栏,工具栏,状态栏,标题栏等,所以是我们最常用的窗口形式。

在PyQt中,在它的中间会有一个QWidget占着中心的位置,我们可以使用setCentralWidget来设置中心窗口。下图展示了一个QMainWindow的基本样式:

QMainWindow窗口基本样式示意图

QMainWindow中比较重要的方法有:

addToolBar(): 添加工具栏;centralWidget(): 返回窗口的中心控件,未设置时返回空;setCentralWidget():设置窗口的中心控件;menuBar(): 返回主窗口的菜单栏对象;setStatusBar(): 设置状态栏;statusBar(): 获得状态栏对象;

QMainWindow类继承关系:

测试QMainWindow

创建文件qmmainwindow.py, 演示状态栏信息显示和添加菜单栏,实现退出程序的功能,其代码如下:

import sysfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QActionclass DemoMainWindow(QMainWindow): def __init__(self, parent=None): super(DemoMainWindow, self).__init__(parent) # 设置窗口标题 self.setWindowTitle('实战PyQt5: QMainWindow Demo!') # 设置窗口大小 self.resize(400, 260)#菜单栏 #添加一个退出程序的功能 action_exit = QAction('Exit', self) action_exit.triggered.connect(self.close) menu_file = QMenu('File', self) menu_file.addAction(action_exit) menu_bar = self.menuBar() menu_bar.addMenu(menu_file)#状态栏 status_bar = self.statusBar() status_bar.showMessage('这里是主窗口的状态栏部分', 5000) if __name__ == '__main__': app = QApplication(sys.argv) window = DemoMainWindow() window.show() sys.exit(app.exec())

运行结果如下图所示:

测试QMainWindow

本文知识点

QMainWindow是一个PyQt应用程序常用的主窗口;QMainWindow可支持菜单栏,工具条,状态栏等;实例化菜单栏对象,添加一个退出程序的操作;实例化状态栏对象,并在其上显示信息。

喜欢本文内容就收藏,点赞,评论,关注和转发。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。