品牌网站建设公司有哪些,网站制作系统哪个好,云系统网站建设合同,农产品网络营销方案问题描述#xff1a;
利用 PyQt5 编写可视化界面是较为普遍的做法#xff0c;但是使用全新UI版本的 Pycharm 修改之前正常的UI文件时#xff0c;在没有动其他代码的情况下发现出现以下报错 AttributeError: type object Qt has no attribute Qt::ContextMenuPolicy::Defaul…问题描述
利用 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 modulemain()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文件源码可见它们保存的格式略有区别。正是这种区别导致了报错的发生。 解决方案
首先是解绑新版Pycharm里面对 .ui 文件打开方式的绑定如下图所示 将插件里面搜索qt取消qt的方框。重启pycharm生效之后就不会再利用 pycharm 自带的高版本designer插件打开 .ui 文件了。 注也可以不解绑但是不要用pycharm自带的designer对文件做任何修改实测改动再取消改动保存后还是会改变格式导致保错。配置外部工具编辑 .ui 文件参考相关博客即可 Pycharm配置PyQt5的三个External Tools—Qt Designer、pyUIC、pyRCC。 具体为File - Settings - Tools- External Tools点击 新建扩展工具如下图所示