返回顶部
首页 > 资讯 > 精选 >PyQt中怎么使用QMainWindow
  • 698
分享到

PyQt中怎么使用QMainWindow

2023-06-14 06:06:49 698人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关PyQt中怎么使用QMainWindow的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。QMainWindow继承自QWidgetQMainWindow相当于程序的主界面,内置了menu和

这篇文章给大家分享的是有关PyQt中怎么使用QMainWindow的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

QMainWindow继承自QWidget
QMainWindow相当于程序的主界面,内置了menu和toolBar。
使用 Qt Designer 可以很方便地添加menu选项。

对于较大型的界面,用Qt Designer比较方便。.ui文件就像Android中使用xml一样。
画出的ui文件可以用PyQt中的PyUIC转换成py文件。转换后的py文件中有一个class。
新建一个继承自QMainWindow的类,来调用生成的这个类。

主窗口关闭时,会调用closeEvent(self, *args, **kwargs),可复写这个方法,加上一些关闭时的操作。
比如终止子线程,关闭数据库接口,释放资源等等操作。

PyQt5 手写 QMainWindow 示例

Win7  PyCharm  python3.5.1  PyQt5

手写一个main window,主要使用了菜单栏、文本编辑框、工具栏和状态栏

|-- main.py|-- res| `-- sWord.png`-- ui `-- app_main_window.py

main.py主文件

import sysfrom PyQt5.QtWidgets import QApplicationfrom ui.app_main_window import AppMainWindowif __name__ == '__main__': app = QApplication(sys.argv) window = AppMainWindow() window.show() sys.exit(app.exec_())

app_main_window.py窗口实现文件

from PyQt5.QtCore import QCoreApplicationfrom PyQt5.QtGui import QIconfrom PyQt5.QtWidgets import QActionfrom PyQt5.QtWidgets import QMainWindowfrom PyQt5.QtWidgets import QTextEditclass AppMainWindow(QMainWindow): """ 菜单栏、文本编辑框、工具栏和状态栏 """ def __init__(self):  super().__init__()  self.init_ui() def init_ui(self):  # 菜单栏  self.statusBar().showMessage('Main window is ready')  self.setGeometry(500, 500, 450, 220)  self.setMinimumSize(150, 120)  self.setWindowTitle('MainWindow')  # 文本编辑框  text_edit = QTextEdit()  self.setCentralWidget(text_edit) # 填充剩下的位置  # 定义退出动作  exit_action = QAction(QIcon('res/sword.png'), 'Exit', self)  exit_action.setShortcut('Ctrl+Q')  exit_action.setStatusTip('Exit App') # 鼠标指向选项时在窗口状态栏出现的提示  # exit_action.triggered.connect(QCoreApplication.instance().quit)  exit_action.triggered.connect(self.close) # 关闭app  # 定义菜单栏,添加一个选项  menu_bar = self.menuBar()  file_menu = menu_bar.addMenu('&File')  file_menu.addAction(exit_action)  # 定义工具栏,添加一个退出动作  toolbar = self.addToolBar('&Exit')  toolbar.addAction(exit_action)

有的时候PyCharm给的代码提示不完全。网上说PyCharm配合vim插件来使用能带来很好的体验。

生成的界面中,工具栏可以自由的拖动,可以放在上下左右4个地方。

同样的代码,可以很方便地移植到PyQt4中。

使用designer画出来的界面

ubuntu

使用designer绘制好界面后,讲ui文件转换成py代码。

import sysfrom PyQt5.QtWidgets import QMainWindow, QApplicationfrom ui_main_window import Ui_UAppMainWindowclass RustMainWindow(QMainWindow): """主界面类""" def __init__(self):  super(RustMainWindow, self).__init__()  self.ma = Ui_UAppMainWindow() # designer画的界面  self.ma.setupUi(self)if __name__ == "__main__": app = QApplication(sys.argv) main_window = RustMainWindow() main_window.show() sys.exit(app.exec_())

复写__init__初始化方法时需要调用父类方法

PyQt4手写窗口代码

和上面那个功能类似。

import sysfrom PyQt4.QtGui import QMainWindow, QTextEdit, QAction, QIcon, QApplicationclass AppMainWindow(QMainWindow): def __init__(self):  super(AppMainWindow, self).__init__()  self.init_ui() def init_ui(self):  self.statusBar().showMessage('Main window is ready')  self.setGeometry(500, 500, 450, 220)  self.setMinimumSize(150, 120)  self.setWindowTitle('MainWindow')  text_edit = QTextEdit()  self.setCentralWidget(text_edit)  exit_action = QAction(QIcon('res/ic_s1.png'), 'Exit', self)  exit_action.setShortcut('Ctrl+Q')  exit_action.setStatusTip('Exit App')  exit_action.triggered.connect(self.close)  menu_bar = self.menuBar()  file_menu = menu_bar.addMenu('&File')  file_menu.addAction(exit_action)  toolbar = self.addToolBar('&Exit')  toolbar.addAction(exit_action)if __name__ == '__main__': app = QApplication(sys.argv) window = AppMainWindow() window.show() sys.exit(app.exec_())

可以看出,PyQt4 和 5 的代码基本上是通用的。复写__init__的方法不同。

感谢各位的阅读!关于“PyQt中怎么使用QMainWindow”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: PyQt中怎么使用QMainWindow

本文链接: https://lsjlt.com/news/268716.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PyQt中怎么使用QMainWindow
    这篇文章给大家分享的是有关PyQt中怎么使用QMainWindow的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。QMainWindow继承自QWidgetQMainWindow相当于程序的主界面,内置了menu和...
    99+
    2023-06-14
  • PyQt QMainWindow的使用示例
    目录PyQt5 手写 QMainWindow 示例使用designer画出来的界面PyQt4手写窗口代码QMainWindow继承自QWidget QMainWindow相当于程序的...
    99+
    2024-04-02
  • PyQt5中的QMainWindow类有什么用
    QMainWindow类是PyQt5中的一个重要类,用于创建一个主窗口。主窗口通常包含菜单栏、工具栏、状态栏和中心部件等元素,可以承...
    99+
    2024-03-12
    PyQt5
  • 怎么在Pyqt中使用matplotlib实时画图案
    怎么在Pyqt中使用matplotlib实时画图案?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。运行环境:Python 3.7 + Matplotlib 3.0...
    99+
    2023-06-08
  • Python中怎么使用PyQT制作视频播放器
    本篇内容主要讲解“Python中怎么使用PyQT制作视频播放器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中怎么使用PyQT制作视频播放器”吧!视频播放器先把已经完成的代码放出来。...
    99+
    2023-06-02
  • pyqt中lineedit怎么读取数字
    在PyQt中,使用QLineEdit组件来读取数字可以通过以下步骤实现: 导入必要的模块: from PyQt5.QtWidge...
    99+
    2024-04-02
  • python编程怎么使用PyQt创建UE蓝图
    这篇文章主要讲解了“python编程怎么使用PyQt创建UE蓝图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python编程怎么使用PyQt创建UE蓝图”吧!实现思路场地部署:我们需要拥有...
    99+
    2023-06-25
  • Pythpn中怎么构建一个PyQt应用程序
    这篇文章给大家介绍Pythpn中怎么构建一个PyQt应用程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。步骤1:创建PyQt应用程序对象为了设计本教程的PyQt应用程序,您必须导入所需的Python模块。要设计这个应...
    99+
    2023-06-15
  • Python的PyQt框架的使用(汇总)
    Python的PyQt框架的使用 一、前言二、安装PyQt三、使用第三方开发工具四 、创建主窗体五、常用控件篇1.QLineEdit 文本框2.QPushButton按钮控件3.QRadioB...
    99+
    2023-09-07
    python pyqt qt
  • PyQt与pycharm的结合使用教程
    目录PyQt的使用与pycharm的结合环境安装PyQt的使用与pycharm的结合 环境安装 pip install pyqt5 -i https://pypi.tuna.tsin...
    99+
    2023-05-19
    PyQt与pycharm使用 PyQt使用
  • PyQt怎么创建自定义QWidget
    小编给大家分享一下PyQt怎么创建自定义QWidget,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!开发环境Win7  PyCharm  Python3.5.1  PyQt5主要文件:|--&...
    99+
    2023-06-14
  • python编程使用PyQt创建UE蓝图
    目录实现思路1、场地部署2、节点创建3、连线①首先是连线类的创建②如何连接节点实现思路 1、场地部署:我们需要拥有一个可以用来画节点的地方!详看我这篇文章QGraphicsScene...
    99+
    2024-04-02
  • PyQt中使用QProcess运行一个进程的示例代码
    目录一、前言二、运行一个进程三、启动进程的例子一、前言 设计应用程序时,有时不希望将一个不太相关的功能集成到程序中,或者是因为该功能与当前设计的应用程序联系不大,或者是因为该功能已经...
    99+
    2022-12-24
    PyQt使用QProcess运行进程 PyQt使用QProcess PyQt运行进程
  • 怎么用PyQt打造具有专业外观的GUI
    这篇文章主要讲解了“怎么用PyQt打造具有专业外观的GUI”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用PyQt打造具有专业外观的GUI”吧!快速创建表单:QFormLayout如果您...
    99+
    2023-06-15
  • 教你使用pyqt实现桌面歌词功能
    目录前言代码实现后记前言 酷狗、网抑云和 QQ 音乐都有桌面歌词功能,这篇博客也将使用 pyqt 实现桌面歌词功能,效果如下图所示: 代码实现 桌面歌词部件 LyricW...
    99+
    2024-04-02
  • python编程使用PyQt制作预览窗口游戏中的小地图
    目录写作思路1、简述实现原理2、部分代码解析①方框的完整代码②编辑界面③预览窗口3、位置同步解析①上下两屏位置同步、编辑屏位置保持不变写作思路 1、简述实现原理 2、部分代码解析 3...
    99+
    2024-04-02
  • Python应用03 使用PyQT制作视频播放器实例
    最近研究了Python的两个GUI包,Tkinter和PyQT。这两个GUI包的底层分别是Tcl/Tk和QT。相比之下,我觉得PyQT使用起来更加方便,功能也相对丰富。这一篇用PyQT实现一个视频播放器,并...
    99+
    2022-06-04
    实例 视频播放器 Python
  • 关于使用pyqt弹出消息提示框的问题
    目录安装 pyqt安装遇到问题还有 To avoid this problem you can invoke Python with '-m pip' instead...
    99+
    2024-04-02
  • PyQt 5怎么设置Logo图标和Title标题
    小编给大家分享一下PyQt 5怎么设置Logo图标和Title标题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!最近在学习Python GUI开发,之前一直都是做的C++ GUI开发,用到的大部分是框架,主要有MFC、Du...
    99+
    2023-06-08
  • pyqt怎么添加启动等待界面的操作
    这篇文章给大家分享的是有关pyqt怎么添加启动等待界面的操作的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、实验环境Windows7x64_SP1anaconda3.7 + python3.7(anaconda...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作