使用pyqt开发gui(pyqt集成到pycharm)

安装pyqt

命令行用pip分别安装pyqt5和pyqt5-tools

pip install pyqt5

pip install pyqt5-tools


安装完以后在Lib\site-packages目录下可以看到对应文件

使用pyqt开发gui(pyqt集成到pycharm)


集成到pycharm

settings->tools->external tools进行添加配置后,可以在pycharmtools->external tools直接调用对应的pyqt功能

使用pyqt开发gui(pyqt集成到pycharm)



设置qtdesigner程序打开方式

这玩意用来编辑gui界面

Name:               qtdesigner

Program:         pyqt5-tools安装目录中designer.exe的路径

Work directory : $FileDir$ 

使用pyqt开发gui(pyqt集成到pycharm)


设置pyuic

这玩意用来把qtdesigner生成的***.ui转换成对应的***.py


Name:              pyuic

Program:        pythonEXE路径

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

Work directory:  $FileDir$

使用pyqt开发gui(pyqt集成到pycharm)

如果觉得$FileDir$这种宏不好写,可以用右边的 Insert macro...按钮选择插入宏

编写gui程序


我这里一步到位,把信号槽也弄一下。


新建项目,就叫eee吧

右键项目文件夹,打开qtdesigner

使用pyqt开发gui(pyqt集成到pycharm)



新建一个widget

界面中拖个按钮,然后给按钮命名btnObj,然后保存(默认名字untitled.ui,这里就不改了)

使用pyqt开发gui(pyqt集成到pycharm)



关闭qtdesigner,回到pycharm界面

右键那个生成的untitled.ui,用uic搞一下,生成untitled.py

使用pyqt开发gui(pyqt集成到pycharm)


工程目录底下建一个py文件,写入以下代码。

然后运行,点击按钮后,控制台就输出xxx了

from PyQt5 import QtCore, QtGui, QtWidgets
from untitled import Ui_Form
import  sys

class MyApp:
    def __init__(self):
        self.widget = QtWidgets.QWidget(None)
        self.ui = Ui_Form()
        self.ui.setupUi(self.widget) #产生btnObj对象
        self.ui.btnObj.clicked.connect(self.fun)  # ui中的btnObj对象
        self.widget.show()
    def fun(self):
        print("xxxx")

app = QtWidgets.QApplication(sys.argv)
obj = MyApp()
sys.exit(app.exec_())



信号函数名称获取方法

可以在qtdesigner界面编辑信号和槽,下拉框出来的就是选中控件包含的事件

使用pyqt开发gui(pyqt集成到pycharm)

在这里可以先把信号的Reciver都写好

使用pyqt开发gui(pyqt集成到pycharm)

然后在ui对应生成的py文件中找到对应代码:

使用pyqt开发gui(pyqt集成到pycharm)

然后抄出来用就行了。。。



注意的坑

文件名可以随意,但是也不能太随意

比如不要叫test,abc.....