使用pyqt开发gui(pyqt集成到pycharm)
安装pyqt
命令行用pip分别安装pyqt5和pyqt5-tools
pip install pyqt5
pip install pyqt5-tools
安装完以后在Lib\site-packages目录下可以看到对应文件
集成到pycharm
settings->tools->external tools进行添加【配置后,可以在pycharm中tools->external tools直接调用对应的pyqt功能】
设置qtdesigner程序打开方式
Name: qtdesigner
Program: pyqt5-tools安装目录中designer.exe的路径
Work directory : $FileDir$
设置pyuic
这玩意用来把qtdesigner生成的***.ui转换成对应的***.py
Name: pyuic
Program: pythonEXE路径
Parameters: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Work directory: $FileDir$
如果觉得$FileDir$这种宏不好写,可以用右边的 Insert macro...按钮选择插入宏
编写gui程序
我这里一步到位,把信号槽也弄一下。
新建项目,就叫eee吧
右键项目文件夹,打开qtdesigner
新建一个widget
界面中拖个按钮,然后给按钮命名btnObj,然后保存(默认名字untitled.ui,这里就不改了)
关闭qtdesigner,回到pycharm界面
右键那个生成的untitled.ui,用uic搞一下,生成untitled.py
工程目录底下建一个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界面编辑信号和槽,下拉框出来的就是选中控件包含的事件
在这里可以先把信号的Reciver都写好
然后在ui对应生成的py文件中找到对应代码:
然后抄出来用就行了。。。
注意的坑
文件名可以随意,但是也不能太随意
比如不要叫test,abc.....