2016-06-14 81 views
0

我在Qt物件工作(QT 5.6)幾個定時器,就可以使用QTableView中表以顯現一個QStandardItemModel的隊列。我的目標是讓「剩餘時間」列顯示剩餘的時間量,激活到秒。更新內QTableView中

我的想法是讓每個隊列項都有一個伴隨的「完成時間」,並顯示完成時間和當前時間之間的差值,這意味着我只需要每秒更新當前時間(理想情況下?)能夠間接更新所有依賴於當前時間的變量。

這可能嗎?我不知道如何將它作爲一個問題來描述,而不僅僅是說明情況。

謝謝! (使用Qt的創造者和C++,如果它的任何考慮)

+0

你可以添加一些standardItemModel的代碼嗎? – Marco

+0

我重新實現'QStandardItem :: data()'來計算結束時間,使用當前時間。當計時器過程中,我會保存當前時間(以便項目可以使用它)並對整個列執行一次'QStandardItemModel :: dataChanged()'調用。 – Velkan

回答

0

有幾個選項:模型之外

  • 使用一個控制器和更新模型中的每個節拍
  • 創建自己的TableView,並刷新根據模型中的完成時間計算每個時間間隔的增量時間列。
  • 創建自己的派生StandardItemModel是發出一個信號dataChanged爲您增量列的每個刻度

無論哪種方式,你可能想看看QTimer或觸發的更新您的QTableView的一些其他的意思。