开发环境配置步骤说明
1. 安装PyQt5
pip install pyqt5
2. PyQt5
不再提供 QtDesigner
等工具,所以需要再安装 pyqt5-tools
工具
pip install pyqt5-tools
3. 打开 Pycharm
,依次选择 /File/Settings/Tools/External Tools/
进入外部工具添加界面
4. 点击绿色加号
来创建一个外部工具 QtDesigner
,配置如下:
-- 工具名称,用于菜单显示
Name = QtDesigner
-- 工具作用描述
Description = Qt tool for designing and building GUIs with Qt Widgets
-- 可通过浏览模块安装路径下的designer.exe程序
Program = D:\devsoft\Python\Python36\Lib\site-packages\pyqt5-tools\designer.exe
-- 默认为空即可
Arguments =
-- 通过点击右侧 Insert Macro 来选择要插入的宏,$FileDir$ 表示文件当前所在目录
Working directory = $FileDir$
其他配置保持默认即可。
5. 创建一个外部工具 PyUiCompiler
,用于将 Qt 的UI界面设计文件 ui文件 转换成 py代码,配置如下:
-- 工具名称,用于菜单显示
Name = PyUiCompiler
-- 工具作用描述
Description = Python User Interface Compiler for Qt
-- 可通过浏览Python安装路径下的python.exe程序
Program = D:\devsoft\Python\Python36\python.exe
-- 调用 PyQt5.uic.pyuic 来执行转换操作
Arguments = -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
-- 通过点击右侧 Insert Macro 来选择要插入的宏,$FileDir$ 表示文件当前所在目录
Working directory = $FileDir$
其他配置保持默认即可。
6. 外部工具使用
选中要进行操作的文件后,依次选择主菜单 /Tools/External Tools/
下的自定义工具即可。
或者右键依次选择 /External Tools/
下的自定义工具即可。
编写ui界面方式
1. 通过ui文件实现
首先点击 QtDesigner
外部工具菜单,设计生成 hello.ui
文件,然后点击 PyUiCompiler
通过 hello.ui
文件生成对应的 hello.py
文件。
然后编写测试程序 main.py
来调用 hello.py
,从而显示出界面。(main.py)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import hello # 导入 hello.py 模块
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = QMainWindow()
ui = hello.Ui_MainWindow()
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())
或者不通过 PyUiCompiler
工具来生成 hello.ui
文件对应的 hello.py
文件,而是直接在代码中加载 hello.ui
文件。(main2.py)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
from PyQt5 import uic
# 加载 ui 文件
Ui_MainWindow, QtBaseClass = uic.loadUiType('hello.ui')
class MainUi(QMainWindow, Ui_MainWindow):
def __init__(self):
QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MainUi()
win.show()
sys.exit(app.exec_())
2. 通过代码直接实现
直接通过代码方式实现ui界面的设计和生成。(main3.py)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
win = QWidget()
win.resize(250, 150)
win.move(300, 300)
win.setWindowTitle('Hello World')
win.show()
sys.exit(app.exec_())