当我尝试运行此代码时,显示错误:NameError: name 'QtGui' is not defined
。我的应用有什么问题?NameError:名称'QtGui'未定义
代码:
import sys
from tkinter import *
from PyQt4 import *
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class WindowHello(QtGui, QWidget, QtCore):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(650, 450, 450, 380)
self.label = QtGui.QLabel("<center>Hello!<center>")
self.box = QtGui.QVBoxLayout()
self.box.addWidget(self.label)
self.setLayout(self.box)
app = QtGui.QApplication(sys.argv)
op = WindowHello()
op.setWindowTitle('LangTIME')
op.setWindowIcon(QtGui.QIcon('Minilogowin.png'))
op.show()
sys.exit(app.exec_())
我做这一切的例子一样,但它毕竟是示值误差。
你导入wrong.See的不接受的答案[进口PyQt4中不包括PyQt4.QtCore或QtGui(http://stackoverflow.com/questions/ 21323899 /进口PyQt4的 - 不 - 不inclu de-pyqt4-qtcore-or-qtgui) – Mel
@tmoreau。该答案专门处理如何在PyQt中“导入所有内容”的问题。但这不是这里需要的。 OP应该用'从PyQt4导入QtCore,QtGui'替换所有导入行(除'import sys'外),然后将类定义更改为'class WindowHello(QtGui.QWidget):'。该脚本将按预期工作。 – ekhumoro
这就是为什么我特别提到未接受的答案,其中指出“不要使用导入*,名称空间存在的原因很有好处”。但是,是的,也许有比这个问题更好的重复。 – Mel