PyQt5 导入ui文件报错 AttributeError: type object ‘Qt‘ has no attribute

问题描述:

利用 PyQt5 编写可视化界面是较为普遍的做法,但是使用全新UI版本的 Pycharm 修改之前正常的UI文件时,在没有动其他代码的情况下发现出现以下报错 AttributeError: type object 'Qt' has no attribute 'Qt::ContextMenuPolicy::DefaultContextMenu'

Traceback (most recent call last):File "E:\master\main.py", line 16, in <module>main()File "E:\master\main.py", line 9, in mainmain_window = MainWindow() #创建窗口对象File "E:\master\MainWindow.py", line 24, in __init__loadUi("./UI/MainWindow0.ui", self)File "D:\newanaconda\lib\site-packages\PyQt5\uic\__init__.py", line 238, in loadUireturn DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix)File "D:\newanaconda\lib\site-packages\PyQt5\uic\Loader\loader.py", line 66, in loadUireturn self.parse(filename, resource_suffix)File "D:\newanaconda\lib\site-packages\PyQt5\uic\uiparser.py", line 1037, in parseactor(elem)File "D:\newanaconda\lib\site-packages\PyQt5\uic\uiparser.py", line 826, in createUserInterfaceself.wprops.setProperties(self.toplevelWidget, elem)File "D:\newanaconda\lib\site-packages\PyQt5\uic\properties.py", line 415, in setPropertiesprop_value = self.convert(prop, widget)File "D:\newanaconda\lib\site-packages\PyQt5\uic\properties.py", line 378, in convertreturn func(prop[0], **args)File "D:\newanaconda\lib\site-packages\PyQt5\uic\properties.py", line 129, in _enumreturn self._pyEnumMember(prop.text)File "D:\newanaconda\lib\site-packages\PyQt5\uic\properties.py", line 111, in _pyEnumMemberreturn getattr(QtCore.Qt, membername)
AttributeError: type object 'Qt' has no attribute 'Qt::ContextMenuPolicy::DefaultContextMenu'

原因分析:

经排查,发现原因是编辑UI文件时使用了 Pycharm 自带的高版本Qt designer插件,使用该版本的designer编辑UI文件时保存的格式会发生变化。如下图所示请添加图片描述
左侧为使用Pycharm 自带的高版本Qt designer插件编辑保存后的UI文件源码,右侧为使用外部工具的Qt designer 编辑保存后的UI文件源码,可见它们保存的格式略有区别。正是这种区别导致了报错的发生。


解决方案:

  1. 首先是解绑新版Pycharm里面对 .ui 文件打开方式的绑定,如下图所示:
    请添加图片描述
    将插件里面搜索qt,取消qt的方框。重启pycharm生效之后,就不会再利用 pycharm 自带的高版本designer插件打开 .ui 文件了。
    注:也可以不解绑,但是不要用pycharm自带的designer对文件做任何修改,实测改动再取消改动保存后还是会改变格式导致保错。
  2. 配置外部工具编辑 .ui 文件,参考相关博客即可: Pycharm配置PyQt5的三个External Tools—Qt Designer、pyUIC、pyRCC。
    具体为:File -> Settings -> Tools-> External Tools,点击 + 新建扩展工具,如下图所示
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/144275.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

实力再证|海云安连续三年荣登中国网络安全产业联盟(CCIA)榜单,蝉联两届“中国网安产业成长之星”

9月6日&#xff0c;中国网络安全产业联盟&#xff08;CCIA&#xff09;正式公布了2024年中国网安产业竞争力50强、成长之星、潜力之星榜单&#xff0c;据悉&#xff0c;本次榜单调研共历时数月&#xff0c;从多个维度对调研企业进行了全面评估分析&#xff0c;遴选出2024年中国…

en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 分散

因为还没写聚集并且材质没有设置摩擦系数&#xff0c;所以出现了这种刚体受力得到初速度却无法减少&#xff0c;从而乱飞的情况 本教程部分代码师承于siki学院siki老师的人工智能编程这一案例&#xff0c;我认为自己的水平有限&#xff0c;老师的写法太过高级&#xff0c;所以就…

供应十字线激光模组厂家如何选择

在工业自动化、机器视觉及精密测量领域&#xff0c;十字线激光模组作为关键部件&#xff0c;其性能与质量直接关乎到整个系统的稳定性和精确度。因此&#xff0c;选择合适的十字线激光模组厂家显得尤为重要。以下几点&#xff0c;是给大家在纷繁的市场中&#xff0c;提供一份清…

Vue3 项目引入阿里 iconfont 图标和字体的多种方式

&#x1f680; 个人简介&#xff1a;某大型国企资深软件研发工程师&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码喽的自我修养&#x1f9…

【PSINS】基于PSINS工具箱的EKF+UKF对比程序|三维定位|组合导航|MATLAB

文章目录 程序描述运行结果下载链接 程序描述 需要PSINS工具箱才能正常运行。集成了EKF和UKF&#xff0c;包含了滤波结果的对比。带中文注释。 运行结果 程序模块&#xff1a; 运动轨迹&#xff1a; 各轴位置误差的曲线&#xff1a; 下载链接 https://gf.bilibili.com/i…

JavaWeb笔记整理——Redis

目录 Redis数据类型 各种数据类型的特点 Redis常用命令 字符串操作命令 哈希操作命令 列表操作命令 集合操作命令 有序集合操作命令 通用命令 在Java中操作Redis Spring Data Redis的使用方式 操作字符串类型的数据 ​编辑操作hash类型的数据 ​编辑 操作列表类…

AI产品经理面试的问题和回复建议

如果你正在考虑找AI产品经理的岗位工作&#xff0c;建议好好准备以下的面试问题&#xff1a; 关于面试时间&#xff1a;一般AI产品经理的面试时间在40分钟-70分钟左右&#xff0c;主要看面试官是否对你感兴趣&#xff08;你的产品经验、气场是否相符&#xff09;。时间越长一般…

秋招面试注意了!网络安全工程师面试最怕遇到的问题,很多人都经历过!

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

IIS+Ngnix+Tomcat 部署网站 用IIS实现反向代理

文中所用到的软件可在此下载。 https://download.csdn.net/download/xingchengaiwei/89733788 1、当我在一台服务器中部署多个网站时遇到了这样的情况&#xff0c;一台Windows Server 2016 服务器上要部署多个APS.NET网站&#xff0c;还需要部署一套Tomcat。Tomcat网站使用的是…

FutureTask源码分析

Thread类的run方法返回值类型是void&#xff0c;因此我们无法直接通过Thread类获取线程执行结果。如果要获取线程执行结果就需要使用FutureTask。用法如下&#xff1a; class CallableImpl implements Callable{Overridepublic Object call() throws Exception {//do somethin…

实时加密机的工作原理

实时加密机&#xff0c;作为数据加密领域的一种高级硬件设备&#xff0c;主要承担着对敏感数据进行实时加密和解密的任务&#xff0c;以确保数据在传输和存储过程中的安全性和完整性。以下是对实时加密机的详细阐述&#xff1a; 一、定义与功能 实时加密机是一种采用先进加密算…

前端项目代码开发规范及工具配置

在项目开发中&#xff0c;良好的代码编写规范是项目组成的重要元素。本文将详细介绍在项目开发中如何集成相应的代码规范插件及使用方法。 项目规范及工具 集成 EditorConfig集成 Prettier1. 安装 Prettier2. 创建 Prettier 配置文件3. 配置 .prettierrc4. 使用 Prettier 集成 …

任务调度控制台定制规格要求

在当今高度自动化与数字化的企业环境中&#xff0c;任务调度系统作为业务运营的核心支撑之一&#xff0c;其性能与灵活性直接影响到整体工作效率与服务质量。因此&#xff0c;定制一套符合企业特定需求的任务调度控制台显得尤为重要。接下来就给大家具体的阐述一下任务调度控制…

2024 vue3入门教程:02 我的第一个vue页面

1.打开src下的App.vue&#xff0c;删除所有的默认代码 2.更换为自己写的代码&#xff0c; 变量msg&#xff1a;可以自定义为其他&#xff08;建议不要使用vue的关键字&#xff09; 我的的第一个vue&#xff1a;可以更换为其他自定义文字 3.运行命令两步走 下载依赖 cnpm i…

ModbusTCP报文详解

Modbus TCP与Modbus Rtu(ASCI)数据帧的区别 总结&#xff1a;Modbus TCP就是在Modbus Rtu(ASCI)基础上去掉CRC&#xff0c;再加上六个0一个6 Modbus TCP MBAP报文头 域长度描述客户机服务器事务处理标识符2字节Modbus请求/响应事务处理的识别客户机启动服务器从接收的请求中重…

开放式耳机好不好用?六条绝妙选购要点避免踩坑

​开放式耳机目前非常流行&#xff0c;它们以时尚、美观和舒适著称&#xff0c;迅速赢得了众多用户的喜爱&#xff0c;成为了耳机市场的新宠。与传统的入耳式耳机相比&#xff0c;开放式耳机佩戴更稳固&#xff0c;对耳朵也更为温和。尽管有些人认为它们价格不菲&#xff0c;甚…

机器人的动力学——牛顿欧拉,拉格朗日,凯恩

机器人的动力学推导方法有很多&#xff0c;常用得有牛顿&#xff0c;拉格朗日&#xff0c;凯恩等方法&#xff0c;接下来&#xff0c;简单说说他们之间的使用。注&#xff1a;这里不考虑怎么来的&#xff0c;只说怎么应用。 参考1&#xff1a;4-14动力学分析方法-牛顿—欧拉方…

第J8周:Inception v1算法实战与解析

本文为365天深度学习训练营 中的学习记录博客原作者&#xff1a;K同学啊 任务&#xff1a; 1.了解并学习下图 a《卷积计算过程中》的卷积层运算量的计算过程&#xff08;储备知识->卷积层运算量的计算&#xff09; 2.了解并学习卷积层的并行结构与1x1卷积核部分内容&#xf…

基于STM32的光敏电阻检测及OLED显示仿真(库函数)

本专栏所有源资料都免费获取,无任何隐形消费。 注意事项:STM32仿真会存在各种各样BUG,且尽量按照同样仿真版本使用。本专栏所有的仿真都采用PROTEUS8.15。 本文已经配置好STM32F103C8T6系列,在PROTUES仿真里,32单片机一般只用一种型号,如需其他型号,可改名。 本次功能…

【C盘清理】Pycharm远程调试重度使用者C盘清理

文章目录 1 remote source 1 remote source 找到本地的这个路径C:\Users\verse\AppData\Local\JetBrains\PyCharm2022.3\remote_sources 这个文件夹是 PyCharm 在进行远程调试时使用的&#xff0c;它包含了远程服务器上的源代码副本。当你在 PyCharm 中设置远程调试并启动调试会…