【Windows-11】Python-GUI设计---PyQt5

1、设备信息

2、PyQt5 和PyQt5-tools 的安装

2.1 PyQt 安装

       代码安装 pip install PyQt5

       手动安装 参考【安装参考

2.2 PyQt5-tools 安装

        代码安装 pip install PyQt5-tools

        手动安装 参考 【安装参考

2.3 添加相关的系统变量

        参考【添加环境变量

【注意】

        同过path查看系统路径的时候记得重新开一个终端窗口

示例参考【pyqt5示例

3、适配pycharm

3.1 【Settings】

3.2 【External Tools】 

3.3 添加新的【External Tools 】

ProgramQTDesignerpython安装的【site-packages】目录下
ProgramPyGUIpython安装的【scripts】目录下
ArgumentsPyGUI
Working directoryPyGUI

3.3.1 添加 QTDesigner

ProgramQTDesignerpython安装的【Lib\site-packages】目录下
ArgumentsPyGUI
Working directoryPyGUI$FileDir$

        【+】---> 按照下图输入数据

3.3.2 添加 PyGUI

ProgramQTDesignerpython安装的【Scripts】目录下
ArgumentsPyGUI$FileName$ -o $FileNameWithoutExtension$.py
Working directoryPyGUI$FileDir$

4、问题及解决方案

4.1 界面和逻辑代码分离

4.1.1 警告类问题

        【问题描述】DeprecationWarning: 【sipPyTypeDict() 】is deprecated, the extension module should use 【sipPyTypeDictRef()】 instead class MainWindow (QtWidgets.QMainWindow,  Ui_Form):

        【解决方案-2024-03-18】 尝试执行如下命令解决:【解决方案

pip install --upgrade sip
pip install --upgrade PyQt5

          不管用 !

4.2 QTdesigner和代码编译出来的界面不一致

4.2.1 图窗大小不一致(已解决)

        【解决方案-2024-03-18】在运行文件(你要运行的有【if __name__=='__main__':】的代码的文件)头部添加如下代码:【图窗不一样

QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

4.2.2 图窗内容不一致(未解决)

        QTdesigner 界面的图像如下:

QTdesigner编辑页面
QTdesigner预览页面

        pycharm 代码编译结果如下: 

代码编辑出的界面
          TRY_1

        【解决方案-2024-03-18】【参考此文献】进行如下代码修改

mainWindow = MainWindow()

# 更换如下命令
# 选择 1
mainWindow = QtWidgets.QtWidget()
# 选择 2
mainWindow = QtWidget()

        【都失败了】会出错,显示没有对应的模块

        TRY_2

        【解决方案-2024-03-18】 【参考此文献】进行代码修改,其中【first】为UI文件编译出来的py文件,其中【Ui_Form】为【first】文件内的类的名字(就一个,不修改的话)

ui = first.Ui_Form()
ui.setupUi(mainWindow)

        【不好使】 

        【尝试解决-2024-03-18】重新备份文件后,发现只有全局布局(如下图箭头所示)后才会出现问题:

        尝试由外到内、由内而外进行编译,都会出错。而且,出错的类型还不一样(用外到内弄的话,乱码会更彻底一些)

有外到内进行编译

        【注意】self.ZT_Stat_Run 为单独设置的 c_int32 类型,进行判断时需要额外标注【.value】

        TRY_3

        【功能测试-2024-03-18】参考【该文献】,进行测试,尝试进行如下代码更改:

class MyApp(QtWidgets.QMainWindow, Ui_MainWindow): 
进行如下改变 
class MyApp(QtWidgets.QWidget, Ui_MainWindow):

        【layouts问题解决,成功显示界面

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值