Когда я пытаюсь запустить этот код, отображается ошибка: NameError: name 'QtGui' is not defined
. Что случилось с моим приложением?NameError: name '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 должен заменить все строки импорта (помимо 'import sys') на' from PyQt4 import QtCore, QtGui', а затем просто изменить определение класса на 'class WindowHello (QtGui.QWidget):'. Сценарий будет работать так, как ожидалось. – ekhumoro
Вот почему я специально упомянул не принятый ответ, в котором говорится: «Не используйте import *, пространства имен существуют по уважительной причине». Но да, возможно, лучший дубликат, чем этот вопрос. – Mel