當我嘗試運行此代碼時,顯示錯誤: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