2012-09-03 19 views
1

我正在試圖建立一個項目,其中即時嘗試構建一個QTreeWidget,有多個QTreeWidgetItems 和一旦我點擊一個特定的項目,它連接到一個數據庫,並顯示查詢結果在tableview模型,直到現在每事情工作正常。連接QTreeWidgetItem到數據庫

問題是我希望每個項目輸出不同的resut,具體取決於同一個表上的某些條件,其中此條件僅更改屬性的值,並且此值與項目名稱相同。例如名爲122的項目,並且該表具有名爲no的屬性。當我們點擊這個查詢的結果必須顯示項目122

任何幫助:)

回答

0

我假設(從表在沒有= 122 SELECT *)你有一個QTableView中由QSqlQueryModelQSqlTableModel支持。

您可以連接到信號QTreeWidget::itemSelectionChanged(),然後在插槽中獲得當前項目selectedItems()[0]。然後你創建你的查詢:

QSqlQuery query; 
query.prepare("select * from table where no=:no"); 
query.bindValue(":no", number); 
query.exec(); 

最後你可以在模型上使用setQuery (const QSqlQuery & query)。這應該更新你的觀點。

我希望我能正確理解你想達到的目標。

+1

非常感謝ar31的幫助:順便說一句,我可以使用信號itemClicked而不是itemSelectionChanged。 – Souad

+0

如果有效,請您將我的答案標記爲已接受? – ar31