如何将数据库中的值显示到QlineEdit pyqt4 python中

2024-06-28 11:02:44 发布

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

我的结果=('sandeep pawar','1234','haveri','581110','karnatak') 我希望将这些值显示在单独的QlineEdit中。在

 myresult = ['sandeep pawar','1234','haveri','581110','karnatak']
 for i in myresult:
     value = ' '.join(map(str,x))
     a,b,c,d,e = value.split(" ")
     self.lineEdit.setText(a)
     self.lineEdit_2.setText(b)
     self.lineEdit_3.setText(c)
     self.lineEdit_4.setText(d)
     self.lineEdit_5.setText(e)

我试过用这个方法,但是我得到了以下错误 a、 b、c、d、e=值.拆分(“”)ValueError值太多,无法解压缩。 请指导我如何在不使用split()函数的情况下将值显示到lineEdit中。在


Tags: inselfmapforvaluesplitjoinsettext
2条回答

我的意见是:

myresult = ['sandeep pawar','1234','haveri','581110','karnatak']
line_edit = [self.lineEdit,self.lineEdit_2,self.lineEdit_3,self.lineEdit_4,self.lineEdit_5]
for i in range(len(line_edit)):
    line_edit[i].setText(myresult[i])

对于lineEdit,您只需引用列表中的每个元素,这当然假定列表中始终有5个元素。这是可以的,但可能会做得更动态(见下文)。在

myresult = ['sandeep pawar','1234','haveri','581110','karnatak']
self.lineEdit.setText(myresult[0])
self.lineEdit_2.setText(myresult[1])
self.lineEdit_3.setText(myresult[2])
self.lineEdit_4.setText(myresult[3])
self.lineEdit_5.setText(myresult[4])

上面的代码可以工作,并且可以对列表中的每个元素进行行编辑。但是如果该列表要增长,则需要向GUI添加一个新的lineEdit,然后用myresult[5]填充它。我宁愿做类似下面的例子。在

这是针对PyQt5的,因为我只在我的电脑上安装了它。但是为什么不使用比lineedits更动态的东西呢?例如带有可编辑项的QlistWidget。在

^{pr2}$

然后,您可以绑定itemChanged事件,该事件将通知您列表中的某个项何时更改。这样你就可以在编辑完成后进入并更新你的列表。我希望这有帮助,请告诉我如果你有问题或需要推动正确的方向。在

相关问题 更多 >