簡體   English   中英

如何將值從數據庫顯示到QlineEdit pyqt4 python

[英]How to display values from Database into QlineEdit pyqt4 python

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中。

對於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的,因為我只在PC上安裝了它。 但是,為什么不使用比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事件,該事件將在列表中的一項更改時通知您。 這樣,您就可以在進行編輯后進入並更新列表。 希望對您有所幫助,如果您有任何疑問或需要朝正確的方向發展,請告訴我。

這是我的意見:

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])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM