我已經在python中使用SQL命令創建了一個數據庫文件。我已經使用了很多外鍵,但我不知道如何將這些數據顯示到與Python的QT?有任何想法嗎?我還希望用戶能夠添加/編輯/刪除數據如何將來自數據庫文件的數據顯示到pyqt中,以便用戶可以添加/刪除/編輯數據?
回答
因爲問題有點廣泛和一般請從http://zetcode.com/gui/pyqt4/開始它會幫助你很多上手。一旦你知道你在處理什麼,你可以使用QtDesigner創建你的用戶表單併爲你的事件添加功能,但是每當你在Qt中編輯表單時要小心,所有你添加的Python代碼將被刪除,所以我建議你遵循您項目的MVC模式。
編輯:這可能是你需要顯示的數據什麼的抽象:considet qttable是你的網格在你的類
def fillQTable(self):
#data = [('1','2','3','4'),('5','6','7','8')] #this is from database
data = self.getData()
rowCount = len(data)
colCount = 4
self.qttable.setRowCount(rowCount)
self.qttable.setColumnCount(colCount)
self.qttabke.verticalHeader().setVisible(False)
self.qttabke.setHorizontalHeaderLabels(QString("num1;num2;num3;num4").split(";"))
self.qttabke.horizontalHeader().setVisible(True)
for s in range(colCount):
self.qttable.horizontalHeaderItem(s).setTextAlignment(Qt.AlignLeft)
for i, row in enumerate(data):
for j, col in enumerate(row):
item = QTableWidgetItem(col)
self.qttabke.setItem(i, j, item)
def connectionDB(self):
try:
cnn=pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb)}\
;DBQ=Data.mdb") # you can use the db library you like here
# i have used pyodbc to connect to MS Access db
return cnn
except Exception, e:
print e
def getData(self):
cnn = self.connectionDB()
cursor = cnn.cursor()
cursor.execute("select * from DataTable") # DataTable is a table in Data.mdb
rawData = cursor.fetchall()
cnn.commit()
cnn.close()
return rawData
是的,我知道如何做到這一點,我已經做了幾個表單。它只是事實,我不知道如何從數據庫文件導入數據顯示給用戶qt – Thaz
@Thaz我已經更新了答案,請檢查 – toufikovich
是的,我認爲這可能有點有用,但我如何將數據庫連接到python文件,這樣我就不必手動將數據放到列表 – Thaz
這個問題有些寬泛,但我會盡量嘗試回答它。 Qt確實帶有一些可以連接到數據庫的模型。具體類如QSqlTableModel
。如果將這種模型連接到數據庫並將其設置爲QTableView
的模型,它應該會給你所需的大部分行爲。
不幸的是,我不認爲我可以比這更具體。一旦你寫了一些代碼,隨時問一個關於特定問題的新問題(請記住包括示例代碼!)
- 1. 是否可以顯示來自Mysql數據庫的數據
- 2. 如何關閉本地sqlite數據庫,以便可以刪除
- 3. 如何將用戶自定義數據添加到數據庫?
- 4. 將數據添加到plist而不刪除以前的數據
- 5. 如何將GET數據添加到錨標記中,以便用戶單擊它時,數據顯示在URL中?
- 6. 將數據庫索引添加到已有數據的數據庫可以嗎?
- 7. 是否可以使用來自不同Excel表格的數據將數據附加到數據庫文件?
- 8. 如何顯示來自戶外數據庫的數據?
- 9. 如何同時訪問文件以添加/編輯/刪除數據?
- 10. 顯示MySql數據的表格,用戶可以編輯
- 11. 顯示來自數據庫的數據
- 12. 如何添加/編輯/刪除MySQL數據庫與jqGrid的
- 13. 版本的數據,以便用戶可以把數據
- 14. 如何修復數據以便將外鍵添加回數據庫
- 15. 我可以將自定義元數據添加到文件嗎?
- 16. 如何添加和刪除SQLite數據庫中的數據?
- 17. 可以更新和刪除數據庫中的數據
- 18. 上傳文件,添加到數據庫並向用戶顯示
- 19. 添加編輯和刪除信息從jtable到數據庫
- 20. 自動對來自數據庫的數據進行顯示/編輯控制
- 21. 如何使用java beans顯示來自數據庫的數據
- 22. 如何在vb.net中顯示來自數據庫的數據
- 23. 如何在VBA Excel中顯示來自數據庫的數據?
- 24. 如何在dataTable中顯示來自數據庫的數據?
- 25. 如何在html中顯示來自數據庫的數據
- 26. 將數據添加到數據庫中
- 27. 如何使用查找來編輯數據庫中的數據?
- 28. 如何將數據從數據庫顯示到文本框中
- 29. JMeter可以用來刪除數據庫中的記錄嗎?
- 30. 如何創建CSV文件,以便它可以將數據導入到mysql數據庫
你需要向我們展示一些代碼以幫助你,至少基本形式與所有相關的小部件和網格...或者只是閱讀https://code.activestate.com/recipes/578676-a-phone-book-gui-built-in-wxpython-connected-to-da/?in=user- 4187866我在ActiveState上的食譜之一,但我用那裏wxpython – toufikovich
我還沒有這樣做..我不知道如何,我不知道該怎麼做才能顯示來自數據庫文件的任何信息 - 我是使用pythonQt – Thaz
ok @Thaz ...通過使用qtdesigner設計您的gui開始,它是一個拖放IDE。如果你在windows上搜索它的文件瀏覽器。我也編輯了我的第一條評論,請檢查它。 – toufikovich