Python Don';我不理解pyqt错误

Python Don';我不理解pyqt错误,python,pyqt,Python,Pyqt,如果我的标题听起来很模糊,我提前道歉。。。如有必要,请随意编辑?我现在有点左右为难,上一次它还可以工作,但是在主脚本中修改了一些代码之后,ui似乎出现了问题 这里有两个脚本,mmvsTool.py(执行脚本)和mmvsToolUI.py(用户界面脚本) 如果我错了,请纠正我的错误,因为我正在使用PyQt4 import QtCore中的,QtGui作为PyQt小部件的导入语句,并且脚本中没有任何地方使用过Pyside…错误似乎是什么时候告诉我要使用它 # Traceback (most rece

如果我的标题听起来很模糊,我提前道歉。。。如有必要,请随意编辑?我现在有点左右为难,上一次它还可以工作,但是在主脚本中修改了一些代码之后,ui似乎出现了问题

这里有两个脚本,mmvsTool.py(执行脚本)和mmvsToolUI.py(用户界面脚本)

如果我错了,请纠正我的错误,因为我正在使用PyQt4 import QtCore中的
,QtGui
作为PyQt小部件的导入语句,并且脚本中没有任何地方使用过
Pyside…
错误似乎是什么时候告诉我要使用它

# Traceback (most recent call last):
#   File "<string>", line 1, in <module>
#   File "/user_data/maya/python/mmvsTool.py", line 14, in __init__
#     self.setupUi( self )
#   File "/user_data/maya/python/mmvsToolUI.py", line 18, in setupUi
#     mmvsFTool.setWindowIcon(icon)
# TypeError: # 'PySide.QtGui.QWidget.setWindowIcon' called with wrong argument types:
#   PySide.QtGui.QWidget.setWindowIcon(QIcon)
# Supported signatures:
  PySide.QtGui.QWidget.setWindowIcon(PySide.QtGui.QIcon)
主脚本中的部分:

from mmvsToolUI import Ui_mmvsTool

from qtswitch import QtGui
from  maya import cmds as mc, mel as mm
import os

class mmvsFTool( QtGui.QWidget, Ui_mmvsTool ):
    """
    """
    def __init__( self, parent = None ):
        super( mmvsFTool, self ).__init__( parent = parent )
        self.setupUi( self )
        # this does nothing yet
        self.modeWidget.setVisible( False )    

我想我现在明白你的问题了

from qtswitch import QtGui  # This is maybe in PySide? Not compatible with PyQt4
将其更改为:

from PyQt4 import QtGui

然后看看它是否有效。

查找并检查
mmvsFTool
@furas不太确定您的意思,但同时错误也涉及我上面粘贴的部分。请将导入语句从两个文件复制并粘贴到这里。和以前不一样。自从上次工作以来,你改变了什么?什么是qtswitch?我在谷歌上找不到它的任何参考资料。我猜它被用来有条件地导入PySide或PyQt,而PySide被选中是出于某种原因。我认为它是有效的!但需要在周一测试另一轮才能确定。请问,我如何知道何时或哪些导入属于pyqt4或pyside?如果您使用的是pyqt4,则永远不应从pyside导入。它们是相互排斥的。我认为上面@user3419537的评论是正确的,因为支持qtswitch在PySide和PyQt4之间自动选择,但操作不正确。也许您不应该将qtswitch行切换为PyQt4,而应该将mmvsToolUi中的PyQt4导入更改为qtswitch?@three_Pinepples感谢您的评论。无论我是从qtcswitch import QtCore,QtGui将import语句更改为
,还是从PyQt4 import QtCore,QtGui
将import语句更改为
。非常感谢!不确定我或可能有人什么时候从PySide更改为PyQt4。@我想
mmvsToolUI
是从ui文件自动生成的吗?根据执行此操作所使用的工具(Pyside或PyQt),将决定在该文件中导入哪个工具包。这意味着每次生成类时,都必须对其进行编辑,并将行从qtswitch…
等切换到
。另一个选项是在运行时动态加载UI文件,但不幸的是,根据您是在PySide还是PyQt,语法会有所不同,但您可以将其打包(我已经在我的bitbucket项目qtutils中包装好了)
from PyQt4 import QtGui