我用PyQT4做了一个简单的Hangman游戏。但是我在创建restart()方法时遇到了问题。
我试过了:
class Ui_MainWindow(QtGui.QMainWindow):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(1188, 696)
MainWindow.setStyleSheet(_fromUtf8("background-color: black;"))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
self.buttons = []
self.setUpKeyboard()
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1188, 25))
self.menubar.setObjectName(_fromUtf8("menubar"))
MainWindow.setMenuBar(self.menubar)
MainWindow.setStatusBar(self.statusbar)
self.pic = QtGui.QLabel(self.mainwindow)
self.pic.setPixmap(QtGui.QPixmap(os.getcwd() + "/img/s0.jpg"))
self.pic.setGeometry(50, 150, 450, 280)
self.pic.setObjectName(_fromUtf8("pic"))
....
def restartGame(self):
self.wordLabel.setText(" ")
for i in range(26):
self.buttons[i].setParent(None)
self.counterLabel.setParent(None)
self.keyWordHidden = ""
self.keyWord = ""
self.pic.setParent(None)
self.setupUi(self.centralwidget)换句话说,我删除了创建的每个对象。不知何故,我得到了输出:
MainWindow.setCentralWidget(self.centralwidget)
AttributeError: 'QWidget' object has no attribute 'setCentralWidget'当我想要第二次调用我的setUpUi()时,我已经想不出需要传递什么参数了……
我有另外一个问题。我的重启几乎可以正常工作。但我还有另外一个问题。包含图形元素的像素图(一个接一个地挂起设备构建元素- 10个jpg文件,如img1、img2...)。对于第一个游戏,它工作得很好。在9个错误之后,整个UI应该重新构建……但之后像素图就不显示了..。我试着移除
self.pic.setParent(None)再次将"img10.jpg“切换为"img1.jpg”。但这无济于事。
https://stackoverflow.com/questions/51583236
复制相似问题