2016-06-14 5 views
0

QtableViewテーブルを使用してQStandardItemModelを視覚化するキューとなるQtウィジェット(Qt 5.6)を作成しています。私の目標は、「残り時間」列に残っている時間を秒単位で表示することです。QTableView内で複数のタイマーを更新する

これを解決する私の考えは、各キュー項目に付随する「終了時刻」を持たせ、終了時刻と現在時刻の間の差分を表示することです。つまり、毎秒現在の時刻を更新するだけですこれは、現在の時間に依存するすべての変数を間接的に更新できるようになります(理想的には?)。

これは可能ですか?私は状況をレイアウトするよりも、質問としてどのように表現するのかが分かりません。

ありがとうございます! (それはどんな対価だ場合、Qt CreatorとのC++を使用して)

+0

standardItemModelのコードをいくつか追加できますか? – Marco

+0

私は 'QStandardItem :: data()'を再実装して、現在の時刻を使って終了時刻を計算します。タイマーがprocsを呼び出すと、現在の時刻を保存して(項目で使用できるように)、列全体で 'QStandardItemModel :: dataChanged()'を一回呼び出します。 – Velkan

答えて

0

いくつかのオプションがあります:

  • ティックごと
  • 独自01​​とリフレッシュを作成し、モデルの外のコントローラを使用してモデルを更新でデルタ時間の列は、モデルの終了時間に基づいて計算されます。
  • 独自に作成する各ダニ

あなたデルタ列のいずれかの方法をdataChanged信号を送出することStandardItemModelを得、あなたはQTimerたりQTableViewのための更新をトリガーする他のいくつかの平均に見たいと思うかもしれません。

関連する問題