首页 > 解决方案 > 尝试在 PyQT5 中查看数据时 Python 崩溃

问题描述

如果我的标题不清楚,请道歉;我正在尝试从 SQLLite 数据库(正在工作)中检索一些数据,并将其显示给 PyQt5 中的窗口上的用户。到目前为止,我已经设法在 Python 中检索结果并打印,但是当尝试在窗口中添加/查看结果时,Python 只会崩溃。我在下面插入了不起作用的代码。(复制时缩进有点有趣,但在我的文件中完全没问题)。

class Profile(QWidget):
def __init__(self, Type):
    super().__init__()
    self.window = QWidget()
    self.window.setGeometry(100,100, 350, 400)
    self.window.setWindowTitle("Welcome")
    self.window.show()
    self.Choices()

def Choices(self):
    self.layout = QGridLayout()
    c.execute('''SELECT username, teamname FROM Users WHERE username = ?''',
    (user,))
    result = c.fetchone()
    print(result)
    print(user)

    self.TeamInfo = QLabel(result)
    self.layout.addWidget(self.TeamInfo)
    self.window.setLayout(self.layout)
    self.window.show()

user是前一个窗口(登录页面)中的全局变量,以避免用户必须重新输入他们的用户名。本节不包括在内,因为这不是问题。课堂上的所有其他按钮都在工作 - 它只是这个特定的部分。非常感谢有关如何解决此问题的任何帮助,我认为问题出在这条线上self.TeamInfo = QLabel(result),但我没有 PyQT5 关于如何解决此问题的知识。

编辑:我已经包含了我收到的错误消息的屏幕截图。

错误

标签: pythonpython-3.xpyqtpyqt5

解决方案


如果我理解正确,您正在尝试向 QLabel 添加文本,对吗?根据文档,向其中添加文本是通过以下方式完成的:QLabel().setText(result)

编辑:你能试试这个并告诉我编译器在抱怨什么吗?

label = QLabel()
label.setText(result)
self.layout.addWidget(label)

推荐阅读