0
的Qt版本: 5.8Qt的C++ - 從多個SQLite的表一個視圖中顯示的數據
比方說,我有以下SQL表
-- People
person_id | first_name | last_name | age
-- Cars, person_id is a foreign key to show that this person owns this car
car_id | car_year | car_make | car_model | person_id
比方說,我要填充以下表視圖或表控件與這樣的數據混合像這樣
// Table that the user sees. Notice that not all the information from the tables is shown.
first_name | last_name | car_year | car_make | car_model
什麼是最好的/推薦的方式來做到這一點?我可以看到以下兩種方式,但我覺得也不是這樣做
- 使用表構件,這是一個默認的模型基於物品的表視圖的最佳途徑。要做到這一點,我猜我需要讓QSqlQuery s從我的QSqlDatabase中獲取數據,並且只需填充表格控件即可。
- 使用表視圖,這將需要我爲視圖的數據模型創建我自己的QSqlTableModel。根據QSqlTableModel的文檔,它是一個高級接口,用於讀取和寫入單個表中的數據庫記錄。這意味着我需要兩個QSqlTableModels,一個用於我上面的每個表。但是,Table View只能使用一個模型,並且會顯示來自該模型的所有數據。我認爲這樣做的唯一方法就是將這些表格合併成一張表格,只顯示我希望用戶看到的信息。我覺得這很醜陋,但可能。在這種情況下,我應該總共有三張表 - 上面兩張加上用戶看到的兩張表?
我覺得#1是這兩個的更好,但我不知道是否有仍然比這兩個更好的辦法。
的可能的複製[如何顯示在一個QTableView中多QSqlTableModels的內容?](http://stackoverflow.com/questions/17156286/how-to-display-content-of-multiple-qsqltablemodels-in-one-qtableview) – MrEricSir