pycharm是jetbrains推出的一款强大的python ide,结合pyqt可以高效开发桌面gui应用程序。
1. 安装pyqt
pyqt 是 python 语言的 qt 框架绑定,用于创建图形用户界面(gui)应用程序。它是 riverbank computing 公司开发的,基于 qt 框架。
1.pyqt 核心组件
qtwidgets: 包含各种 ui 控件(按钮、文本框等)
qtcore: 核心非 gui 功能(信号/槽、文件 io 等)
qtgui: 图形和图像功能
qtwebenginewidgets: 网页渲染组件
安装 pyqt5
pip install pyqt5 pip install pyqt5-tools # 包含 qt designer 等工具
2. 基础 pyqt 应用程序结构
import sys from pyqt5.qtwidgets import qapplication, qmainwindow, qlabel class mywindow(qmainwindow): def __init__(self): super().__init__() self.setwindowtitle("pyqt 示例") self.setgeometry(100, 100, 400, 300) label = qlabel("hello pyqt!", self) label.move(50, 50) if __name__ == "__main__": app = qapplication(sys.argv) window = mywindow() window.show() sys.exit(app.exec_())
3. 使用 qt designer 创建界面
启动 qt designer:
designer
或通过 pycharm 的外部工具启动
设计界面并保存为 .ui
文件
将 .ui 文件转换为 .py 文件:
pyuic5 input.ui -o output.py
在代码中使用生成的 ui:
from pyqt5 import qtwidgets from output import ui_mainwindow class myapp(qtwidgets.qmainwindow, ui_mainwindow): def __init__(self): super().__init__() self.setupui(self) # 添加你的逻辑代码
2. pycharm配置
2.1 配置外部工具
- 打开pycharm,进入
file > settings > tools > external tools
- 点击"+"号添加新工具
配置qt designer
- name: qt designer
- program: 找到你的python安装目录下的
designer.exe
,通常在:
<python安装目录>\lib\site-packages\qt5_applications\qt\bin\designer.exe
或
<python安装目录>\lib\site-packages\pyqt5\qt\bin\designer.exe
working directory: $projectfiledir$
配置pyuic(将.ui文件转换为.py文件)
name: pyuic
program: 你的python解释器路径
arguments:
-m pyqt5.uic.pyuic $filename$ -o $filenamewithoutextension$.py
working directory: $filedir$
配置pyrcc(用于资源文件编译)
name: pyrcc
program: 你的python解释器路径
arguments:
-m pyqt5.pyrcc_main $filename$ -o $filenamewithoutextension$_rc.py
working directory: $filedir$
2.2 配置qt designer文件关联
- 进入
file > settings > editor > file types
- 找到"ui designer form",添加
*.ui
文件类型
3. 使用流程
创建ui文件:
- 右键项目目录 > external tools > qt designer
- 设计界面并保存为
.ui
文件
转换为python代码:
- 右键.ui文件 > external tools > pyuic
- 将生成对应的.py文件
使用生成的ui:
import sys from pyqt5 import qtcore, qtgui, qtwidgets from pyqt5.qtwidgets import qapplication, qmainwindow, qtreewidgetitem,qwidget,qpushbutton,qhboxlayout from dlmainwindow import ui_mainwindow from dlconnectui import ui_dltcpudp from dlbase.dlnet.dltcpclient import dltcpclient from dlbase.dlnet.dltcpserver import dltcpsever class dlconnect(qwidget): def __init__(self, parent=none): super(dlconnect, self).__init__(parent) self._ui = ui_dltcpudp() self._ui.setupui(self) class dltcpudpmain(qmainwindow): def __init__(self, parent=none): super(dltcpudpmain, self).__init__(parent) self._ui = ui_mainwindow() self._ui.setupui(self) self.inittreewidget() self.initconnecttab() self._ui.splitter.setstretchfactor(1, 3); self.resize(1200, 800) if __name__ == '__main__': app = qapplication(sys.argv) mainwindow = dltcpudpmain() mainwindow.show() sys.exit(app.exec_())
4. 调试配置
- 创建新的python运行配置
- 确保勾选了
emulate terminal in output console
选项,这可以避免pyqt应用在pycharm控制台中运行时的显示问题
5. 实用功能集成
1. 实时预览ui修改
安装pyqt5-tools
的预览功能:
pip install pyqt5-tools
在pycharm terminal运行:
pyqt5-tools preview ui/main_window.ui
2. 热重载开发(代码修改不重启应用)
使用pyqt5-reload
:
from pyqt5_reloader import run run('main.py')
6. 常见问题解决
1. 界面显示不正常
- 确保所有
.ui
文件已正确转换为.py
- 检查布局管理器是否设置正确
- 尝试添加
qapplication.processevents()
2. 资源文件加载失败
创建.qrc
文件:
<rcc> <qresource prefix="/"> <file>images/icon.png</file> </qresource> </rcc>
- 使用pyrcc工具编译
- 在代码中导入生成的
_rc.py
文件
3. 高dpi屏幕显示模糊
在主程序添加:
from pyqt5.qtcore import qt qapplication.setattribute(qt.aa_enablehighdpiscaling) qapplication.setattribute(qt.aa_usehighdpipixmaps)
7. 项目打包发布
1. 使用pyinstaller打包
pyinstaller --onefile --windowed --icon=app.ico main.py
2. 包含资源文件
创建.spec
文件并修改:
a = analysis( ['main.py'], datas=[('ui/main_window.ui', 'ui'), ('resources_rc.py', '.')], ... )
通过以上配置,可以在pycharm中高效地进行pyqt开发,充分利用ide的代码补全、调试和版本控制功能,同时结合qt designer的可视化设计优势。
到此这篇关于pycharm中配置pyqt的实现步骤的文章就介绍到这了,更多相关pycharm配置pyqt内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论