IDEA开发PyQt---从配置到测试

1: IDEA配置python

① 安装python插件 File->Settings…->Plugins,在里面搜索python

② 点击工具栏中的File->New->Project,可以看到左边的项目类型中多了一个python

2: pip换源 参考: https://blog.csdn.net/qq_14994573/article/details/80934201

windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

更简单点,在Windows下可以: pip config set global.index-https://pypi.tuna.tsinghua.edu.cn/simple

3 安装pyqt5 参考:https://blog.csdn.net/zrt8019/article/details/102418472

① pip install PyQt5 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

②安装 pip install PyQt5-tools -i http://pypi.douban.com/simple --trusted-host=pypi.douban.com

③ 在site-packages全局搜索 designer.exe(就看一下位置)

然后设置IDEA集成QtDesigner IDEA file–>setting–>tools—>External Tools–>点加号(弹出CreateTool)

Name : QtDesigner

Program: C:\Software\Python37\Lib\site-packages\qt5_applications\Qt\bin(designer.exe的路径)

Arguments: (空着)

Working directory: F i l e D i r FileDir FileDir

设置PyUIC 将ui转py文件工具(这样生成的py和ui文件在同一个目录下)

Name :ui–>py

Program: C:\Software\Python37\python.exe(python.exe的路径)

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

(我写的是 -m PyQt5.uic.pyuic $FileName$ -o py\Ui_$FileNameWithoutExtension$.py 提前在ui的目录下创建py目录)
Working directory:$FileDir$

4: 测试

① 使用刚才添加好的工具 Tools --> External Tools–>QtDesigner

② 创建一个widge上面拉两个pushButton,一个Label(不用改名字)

③ 使用PyUIC将.ui生成.py(选取.ui文件右键External Tools–>ui->py)

④代码 (除了改一下路径,其他直接运行即可)

import sys

from PyQt5 import QtWidgets
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow

#这个路径就是由ui文件生成py文件的路径
from ui.ui_design import Ui_Form


class Main(QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        #  Ui_MainWindow 界面路径
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        #绑定槽函数
        self.ui.pushButton.clicked.connect(self._pushButton_Clicked)

    def _pushButton_Clicked(self):
        print('button2 clicked')
        self.ui.label.setText('button2 clicked')

    #注解方式绑定槽函数
    @pyqtSlot()
    def on_pushButton_2_clicked(self):
        print('按下按钮')
        self.ui.label.setText('按钮1 被按下')


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    main = Main()
    main.show()
    sys.exit(app.exec_())

5, 前后端彻底分离 动态加载ui 参考:https://blog.csdn.net/lishan132/article/details/112602371 (我没试过)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值