Python PyQt6猜数字跑不出来,想知道有什么问题


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())
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7692105
  • 这篇博客你也可以参考下:python PyQt6学习笔记 有注释
  • 除此之外, 这篇博客: 【Python】pyqt6入门到入土系列,非常详细...中的 2、安装 PyQt6 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    pip install PyQt6

  • 您还可以看一下 周华健老师的Python PyQt6 计算器项目课程中的 创建主窗口小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    由于题目中未给出代码和问题出现的具体表现、提示信息或错误信息,无法确定具体问题所在。建议检查代码是否有语法错误、调用了不存在的对象或方法、信号与槽函数是否正确连接等问题,并查看具体的提示信息或错误信息以确定问题所在。如果仍不能解决问题,可以考虑在相关技术论坛或社群中寻求帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^