import random
import sys
from PyQt6.QtWidgets import QApplication, QDialog, QVBoxLayout, QLabel, QLineEdit, QPushButton, \
QMessageBox, QWidget
class Main(QWidget):
def __init__(self):
super().__init__()
self.initUI()
self.s = random.randint(0, 100)
def initUI(self):
self.dialog = QDialog()
self.layout = QVBoxLayout()
self.label = QLabel("输入一个数字:", self)
self.layout.addWidget(self.label)
self.edit = QLineEdit()
self.layout.addWidget(self.edit)
self.button = QPushButton("猜", self)
self.button.clicked.connect(self.clicked)
self.dialog.setLayout(self.layout)
self.show()
def clicked(self):
num = int(self.edit.text())
count = 1
while num != self.s:
count += 1
if num < self.s:
self.edit.setFocus()
QMessageBox.about(self, '看结果', '小了')
elif num > self.s:
self.edit.setFocus()
QMessageBox.about(self, '看结果', '大了')
else:
if count < 4:
self.edit.clear()
QMessageBox.about(self, '看结果', '你的表现很优秀,游戏结束')
if count > 4 and count < 8:
self.edit.clear()
QMessageBox.about(self, '看结果', '你的表现还可以,游戏结束')
if count == 8:
self.edit.clear()
QMessageBox.about(self, '看结果', '你的表现太差,游戏结束')
break
if __name__ == 'main':
app = QApplication(sys.argv)
ex = Main()
ex.show()
sys.exit(app.exec())
应该调用 QWidget 的构造函数 super().__init__(),而不是 super().__init__
最后一段代码应更正如下:
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = Main()
ex.show()
sys.exit(app.exec())
不知道你这个问题是否已经解决, 如果还没有解决的话:pip install PyQt6
由于题目中未给出代码和问题出现的具体表现、提示信息或错误信息,无法确定具体问题所在。建议检查代码是否有语法错误、调用了不存在的对象或方法、信号与槽函数是否正确连接等问题,并查看具体的提示信息或错误信息以确定问题所在。如果仍不能解决问题,可以考虑在相关技术论坛或社群中寻求帮助。