[英]Display data from data base in QtableWidget
我有這段代碼gui QtableWidget
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
data = {'col1':['1','2','3'], 'col2':['4','5','6'], 'col3':['7','8','9']}
class MyTable(QTableWidget):
def __init__(self, data, *args):
QTableWidget.__init__(self, *args)
self.data = data
self.setmydata()
self.resizeColumnsToContents()
self.resizeRowsToContents()
def setmydata(self):
horHeaders = []
for n, key in enumerate(sorted(self.data.keys())):
horHeaders.append(key)
print key
for m, item in enumerate(self.data[key]):
newitem = QTableWidgetItem(item)
self.setItem(m, n, newitem)
self.setHorizontalHeaderLabels(horHeaders)
def main(args):
app = QApplication(args)
table = MyTable(data, 5, 3)
table.show()
sys.exit(app.exec_())
if __name__=="__main__":
main(sys.argv)
import psycopg2
conn = psycopg2.connect(database="sammy", user="postgres", password="a", host="localhost", port="5432")
print "Opened database successfully"
cur = conn.cursor()
cur.execute("SELECT * from conn")
rows = cur.fetchall()
for row in rows:
print "ID = ", row[0]
print "NAME = ", row[1]
print "password = ", row[2] ,"\n"
誰顯示數據庫中的數據
我是python的初學者,我想在QtableWidget中顯示第二數據,我應該在第一代碼中進行更改以使數據顯示或其他方式
非常感謝
[您可以根據SQL結果構建數據字典。 只是模仿示例中的列表字典
import psycopg2
conn = psycopg2.connect(database="sammy", user="postgres", password="a", host="localhost", port="5432")
print "Opened database successfully"
cur = conn.cursor()
cur.execute("SELECT * from conn")
rows = cur.fetchall()
ID,NAME,password = [],[],[]
for row in rows:
ID = ID + [row[0]]
NAME = NAME + [row[1]]
password = password + [row[2]]
然后修改QTableWidget代碼
data = {'col1':['1','2','3'], 'col2':['4','5','6'], 'col3':['7','8','9']}
成為
data = {'ID':ID, 'NAME':NAME, 'password':password}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.