Pycharm+QTDesigner+PyQt5环境配置

本文详细介绍了如何在Windows环境下配置Python与PyQt5的开发环境,包括安装PyQt5、解决常见运行错误、配置PySide2以及使用PyCharm进行UI设计。此外,还提供了将UI文件转换为Python文件的方法。

python+PyQt5写界面很方便,记录下个人配置环境过程。。。。

 

安装软件:

  • pycharm2017
  • Qt5.9.6
  • python3.6.6/python2.7.15

 

配置PyQt5:

python3

pip3 install PyQt5

 

python2

pip2.7 install python-qt5

注:据说PySide2好用,开源免费,所以很多人都有安装;这个也很简单,直接pip install PySide2

Windows平台的很多人安装完都会出现运行错误,这里总结下个人经验:

1.Windows7出现无法加载动态链接库,基本关机一天,第二天起来电脑就正常可以了,还不行的话就要安装一些微软的底层库如VS系列依赖库(链接:https://pan.baidu.com/s/10nyUovLGfJoZ4lAnTmAPmw 提取码:i78l );windows10应该就不会出现这样的情况

2.出现其他错误,可能是缺少sip库,安装python3 PyQt5时是会自动安装的,所以应该是不会有问题;但python2可能要我们自己手动安装sip,pip install sip/python-sip,这个可以自己去尝试

3.建议安装科学环境anaconda,第三方库特别丰富

 

配置pycharm:

配置QTDesigner

 

配置PyUIC

Program:

E:\Python27\python.exe

Parameters:

-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

Working directory:

$FileDir$

 

将UI文件转为.py文件

 

打开UI.py文件

 

主文件

这里有一点需要注意:

因为我们同时安装了PyQt5和PySide2,所以我们只能任选其中一个进行导入,且主文件和UI文件导入的包必须一致,不能一个导入PySide2,一个导入PyQt5

 

#hello.py
#
-*-coding:utf-8-*- from PyQt5 import QtCore,QtGui,QtWidgets from PyQt5.QtCore import QTimer from PyQt5.QtWidgets import QDialog,QMessageBox from UI import * import sys import os import numpy as np import matplotlib.pyplot as plt import threading class TonyFrame(QDialog): # **************************************************************# #initial function def __init__(self,parent=None): try: super(TonyFrame,self).__init__(parent) self.ui = Ui_Form() self.ui.setupUi(self) except: print ("__init__ except fail") #self.ShowErroeMessage("__init__ except fail") app = QtWidgets.QApplication(sys.argv) myTonyFrame = TonyFrame() myTonyFrame.show() myTonyFrame.exec_()
#UI.py
#
-*- coding: utf-8 -*- # Form implementation generated from reading ui file 'hello.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! #from PySide2 import QtWidgets,QtGui,QtCore from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(339, 207) self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(120, 80, 81, 41)) font = QtGui.QFont() font.setPointSize(15) self.label.setFont(font) self.label.setObjectName("label") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.label.setText(_translate("Form", "世界你好"))

转载于:https://www.cnblogs.com/YangARTuan/p/10538077.html

### 如何在 PyCharmPyQt5QtDesigner 中实现代码同步 为了实现在 PyCharmPyQt5QtDesigner 之间的代码同步,可以按照以下方法操作: #### 配置环境 首先,在 PyCharm 中完成 PyQt5 及其相关工具的安装和配置。这一步可以通过 pip 安装 PyQt5 并确保 `pyuic5` 工具可用[^2]。 ```bash pip install pyqt5 ``` 接着验证 `pyuic5` 是否成功安装并可执行: ```bash pyuic5 -h ``` 如果命令返回帮助信息,则说明已正确安装该工具[^3]。 --- #### 使用 Qt Designer 创建 UI 文件 通过运行 Qt Designer 来创建 `.ui` 文件。此文件定义了图形化界面布局及其组件属性。保存设计后的 `.ui` 文件以便后续处理[^1]。 --- #### 转换 .ui 文件为 Python 代码 利用 `pyuic5` 将 `.ui` 文件转换成对应的 Python 代码。假设有一个名为 `example.ui` 的文件,可以在终端中输入如下命令将其转译为 `example_ui.py` 文件: ```bash pyuic5 example.ui -o example_ui.py ``` 这条指令会生成一个基于所设计界面的纯 Python 实现版本。 --- #### 加载动态更新机制 (推荐方式) 为了让开发流程更加高效,建议采用一种自动化的方案来保持 `.ui` 文件其对应 Python 文件的一致性。例如编写简单的脚本或者借助第三方插件定期监控 `.ui` 文件的变化情况,并触发重新编译过程。 以下是手动加载 `.ui` 文件的一个简单例子,这种方法无需每次都单独调用 `pyuic5` 命令行工具即可达到实时效果: ```python from PyQt5 import uic, QtWidgets class UiLoader(QtWidgets.QMainWindow): def __init__(self): super(UiLoader, self).__init__() # 动态加载 ui 文件 uic.loadUi('example.ui', self) if __name__ == '__main__': import sys app = QtWidgets.QApplication(sys.argv) window = UiLoader() window.show() sys.exit(app.exec_()) ``` 上述代码片段展示了如何直接从 `.ui` 文件构建应用程序窗口而不需要提前预编译它成为独立模块的形式。 --- #### 设置 PyCharm 运行调试支持 最后调整好项目结构之后,在 PyCharm 当中的设置选项里确认已经添加了必要的解释器路径以及库依赖关系;同时也可以考虑定制快捷键绑定至某些常用功能上比如一键启动模拟器等提升工作效率的操作习惯养成。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值