我正在尝试为排行榜制作一个名称系统。我已经为排行榜创建了文本文件,它在最后填充每个文本文件并在排行榜中读取它。
我还将名称作为文本文件,原因是为了避免用户在文本文件中插入相同的名称。
名称系统:
用户在QLineEdit中输入名称 - >点击提交按钮,该按钮连接到名称系统的主要功能 - >姓名将写在姓名文本文件中。
有一个列表变量可以读取文件中的所有行。在这种情况下,我将其定义为data6
。
我试过这个:
for name2 in self.data6:
if self.name.text() in name2:
print "True"
得到错误:
TypeError: 'in <string>' requires string as left operand, not QString
也试过这个:
for name2 is self.data6:
if self.name.text() in name2:
print "True"
但声明是假的。
for name2 == self.data6:
if self.name.text() in name2:
print "True"
该布尔值的声明为假。
self.name.text()
是QLineEdit变量,name2
是data6中的第一行变量(读取名称文件中所有行的Array变量)
如果self.name.text()
和name2
包含相同的数据,我怎么能得到,所以我可以在文件中禁止使用相同的名称。
或者可能是PyQt的问题,在第一个代码中,&#34; QString&#34;。
答案 0 :(得分:0)
我已将QString
转换为str
来解决我的问题。
for name2 in self.data6:
if str(self.name.text()) in name2:
print "True