将列表长度放入PyQt4中的QLabel

2024-09-30 16:19:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在PyQt4中做了一个多页的测试应用程序,我试图在最后添加分数摘要,这样它将计算出有多少正确和不正确的答案。在

为此,我列出了清单,我是这样做的:

def scorecheck(self, sendercheck): # sendercheck object gets from which widget was signal sent.
    wronganswers = [] 
    correctanswers = []
    if sendercheck == ( self.answ or self.answ1 ):
        wronganswers.append(1)


    if sendercheck == ( self.answ2 ):
        correctanswers.append(1)

如何将wronganswers长度放入QLabel?在

我试过这些:

^{pr2}$

给我这个错误:

self.wronganswer.setText(len(wronganswers))
TypeError: QLabel.setText(QString): argument 1 has unexpected type 'int'

还有这个:

self.wronganswerlabel = QtGui.QLabel(self, "Score:".len(wronganswers))
self.wronganswerlabel.setGeometry(200, 200, 200, 200)
self.wronganswerlabel.show()

给了我一个错误:

self.wronganswer = QtGui.QLabel(self, "Score:".len(wronganswers))
AttributeError: 'str' object has no attribute 'len'


Tags: selflenifobject错误hasappendsettext
1条回答
网友
1楼 · 发布于 2024-09-30 16:19:45

它只是一个强制转换的东西;^{}^{}需要一个QtCore.QString或者仅仅是一个unicodestring对象,但是您试图传递一个int。您需要告诉python如何将整数转换为字符串。通常的方法是str(myint)

另外,您需要使用+运算符以您现在的语法方式组合两个字符串,您正在向字符串"Score:"请求它的length方法,这可能不是您的意思。在

以下各项应按预期工作

self.wronganswerlabel.setText(str(len(wronganswers)))

或者

^{pr2}$

相关问题 更多 >