Win10 搭建Python3 + PyQt5 + PyCharm 开发环境 超详细图解 无坑(三)
目录
PyCharm+PyUic快捷菜单工具配置(高级)---分离界面和逻辑
前言
前面的内容我们介绍了利用PyCharm+QtDesigner来设计界面,再通过pyuic5将.ui文件转换成.py源文件。由于要响应事件操作,通常会将相应的槽函数写在ui对应的.py文件里。如此一来,界面和逻辑开发就混合在一起了。每一次ui更新都需要修改.py文件,软件开发效率低下。本文会介绍如何配置PyCharm+PyUic、分离界面和逻辑以及实例代码演示。
目的
后续ui更新,只要将.ui文件替换,然后转换成_ui.py,逻辑部分就不用动,从而实现界面设计与逻辑开发分离。
关于信号和槽的解释可以参考我的另外一篇文章--《C++ Qt与PyQt5 信号与槽 对比说明》
PyCharm+PyUic快捷菜单工具配置(高级)---分离界面和逻辑
把Qt的UI文件转换成.py文件的工具。
Description: convert .ui to .py
Program: C:\Python\Scripts\pyuic5.exe(在自己Python安装目录下找一下)
Arguments:
原来的参数: $FileName$ -o $FileNameWithoutExtension$.py
更新后的参数: $FileName$ -o $FileNameWithoutExtension$_ui.py
Working directory: $FileDir$(可以拷贝我的设定,或者点击按钮“Insert macro…” 选择合适的macros)
配图说明请参考《Win10 搭建Python3 + PyQt5 + PyCharm 开发环境 (二)》之“PyCharm+PyUic快捷菜单工具配置”
代码实例
- 先用QtDesigner设计一个ui,采用默认的名字“MainWindow”。
- 添加一个菜单File,然后在菜单File下面添加几个选项,如下表,修改它们对应的objectName(一定要改,否则后面使用的时候会报错)
Action
objectName
Exit
exitAction
Copy
copyAction
Paste
pasteAction
Cut
cutAction
- 然后用我们配置好的pyuic tool来生成mainwindow_ui.py(自己在cmd控制台输指令也可以“pyuic5 mainwindow.ui -o mainwindow_ui.py ”)
- 在项目工程下新增一个mainwindow.py。注意:不带_ui,这个是我们逻辑处理的地方,主要是槽函数。然后将如下代码复制进去。
[code]#! /usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication,QMainWindow,QMessageBox from mainwindow_ui import * # module mainwindow_ui.py class MainWindow(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) self.exitAction.triggered.connect(self.onExitTriggered) self.copyAction.triggered.connect(self.onCopyTriggered) self.pasteAction.triggered.connect(self.onPasteTriggered) self.cutAction.triggered.connect(self.onCutTriggered) def onExitTriggered(self): QMessageBox.information(self, "Information", "Exit action triggered") pass def onCopyTriggered(self): QMessageBox.information(self, "Information", "Copy action triggered") pass def onPasteTriggered(self): QMessageBox.information(self, "Information", "Paste action triggered") pass def onCutTriggered(self): QMessageBox.information(self, "Information", "Cut action triggered") pass if __name__ == "__main__": app = QApplication(sys.argv) mainWindow = MainWindow() mainWindow.show() sys.exit(app.exec_())
- 最后,右击执行Run
总目录
阅读更多- Win10 搭建Python3 + PyQt5 + PyCharm 开发环境 超详细图解 无坑 总目录
- [Win10--Install]Win10下搭建python3.4+PyQt5.4+Eric6开发环境
- PyQt5系列教程(一)Mac OS X下搭建Python3.5.1+PyQt5开发环境
- Python 2.7 GUI 编程集成开发环境的搭建 Python 2.7 + PyQt 4 + Eric 6 环境搭建
- [Ubuntu--Install]Ubuntu16.04下搭建python3.5+PyQt5.7+Eric6开发环境
- Python3 PyQt5 pycharm 环境搭建
- Eclipse中Python开发环境搭建详细图文教程(Windows环境)
- 使用pycharm搭建python开发环境及连接greenplum和mysql
- PyCharm笔记之搭建Python开发环境
- ubuntu14.04 LTS Python IDE专用编辑器PyCharm开发环境搭建
- 在ubuntu下搭建python开发环境(pycharm,postgresql,virtualenv, Django)
- win10下用Linux搭建python&nodejs开发环境
- Python、TensorFlow、PyQt、MySQL等开发环境的搭建
- 使用pycharm手动搭建python语言django开发环境(一)
- PyQt4开发环境搭建指导 基于Windows 10和+ Python3.x+PyQt4
- Python学习之IDE(Eric4)------windows下搭建Python开发环境[python2.7+pyqt4(PyQt-Py2.7-x32-gpl-4.9.6-1)+Eric4(eric
- 初步探索python(三) pycharm开发环境搭建,爬虫
- 机器学习(包括深度神经网络)python开发环境搭建(超详细)(适合新手)
- Windows下搭建python开发环境详细步骤
- python工作环境搭建----安装pyqt4(基于win10)