Python - Mac下PyCharm&PyQt5环境搭建

刚学Python的时候都是在文本编辑软件里面写,没有智能提示,效率实在底下,写项目当然要使用现代化的IDE,PyCharm是IntelliJ IDEA的Python版本,是一个非常优秀的IDE。(PS:我的电脑快变成IntelliJ IDEA全家桶了)

所需软件:

  1. PyQt5
  2. PyCharm

PyQt5

首先需要提前装好PyQt5,可参考:Python - Mac下PyQt5环境搭建

PyCharm

配置 QtDesigner

这是个Qt的界面可视化工具,可以很方便的设计UI,所见即所得。Designer的位置Qt-5.5.1/5.5/clang_64/bin/Designer.app,我们可以在PyCharm中配置Designer的路径,这样就可以在PyCharm中快速启动Designer了。

  1. 打开 PyCharm 的设置
  2. 找到 Tools -> External Tools
  3. 点击 + -> Create Tool
  4. 配置如下图

配置 PyUIC

这个工具可以把Qt Designer的UI文件,转换成Py文件,这是个命令行工具。

1
python -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.
  1. 打开 PyCharm 的设置
  2. 找到 Tools -> External Tools
  3. 点击 + -> Create Tool
  4. Parameters:

    1
    -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.
  5. 配置如下图

使用

右键菜单中选择 External Tools 即可

使用 QtDesigner 做一个窗体程序

打开QtDesigner

设计一个最简单的窗体,放置一个Lable控件

转换成 Py


HelloWorld.ui -> HelloWorld.py

HelloWorld.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'HelloWorld.ui'
#
# Created by: PyQt5 UI code generator 5.5.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(640, 480)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(260, 180, 81, 21))
self.label.setObjectName("label")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 640, 22))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "Hello, World"))

编写 main.py

main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import sys
import HelloWorld
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = HelloWorld.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())

运行

Gavin Liu wechat
欢迎您扫一扫上面的二维码,订阅我的微信公众号!