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

问题描述 投票:0回答:2

myresult =('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 = value.split(“”)ValueError太多值要解压缩。请指导我如何在不使用split()函数的情况下将值显示到lineEdit中。

python pyqt4 qlineedit
2个回答
0
投票

对于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。

from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtWidgets import *

import sys



if __name__ == '__main__':
    app = QApplication(sys.argv)
    listWidget = QListWidget()
    listWidget.show()
    myresult = ['sandeep pawar','1234','haveri','581110','karnatak']
    listWidget.addItems(myresult)
    for index in range(listWidget.count()):
        item = listWidget.item(index)
        item.setFlags(item.flags() | QtCore.Qt.ItemIsEditable)
    sys.exit(app.exec_())

然后,您可以绑定itemChanged事件,该事件将在列表中的某个项目发生更改时通知您。因此,您可以在编辑完成后进入并更新列表。我希望这会有所帮助,如果您有任何疑问或需要朝着正确的方向努力,请告诉我。


-1
投票

这是我的意见:

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])
© www.soinside.com 2019 - 2024. All rights reserved.