0

QLCDNumber を使用して 2 つのタイマーを作成しようとしています。これらのタイマーは、dll のステータス バーの一部として生成されます。私は 2 つの LCDNumber ディスプレイを持っています。lcdNumber1 は、指定された時刻 (例: 12:00:00) に開始されます。lcdNumber2 は 0 から始まります (例: 00:00:00)。

lcdNumber2 のタイマーを作成し、タイマーを開始させるにはどうすればよいですか?

lcdNumber2 のタイマーを lcdNumber1 に追加するにはどうすればよいですか? または、lcdNumber1 のタイマーを作成して、指定した時間から刻み始めることはできますか?

誰でも助けてもらえますか?

QLCDNumber *lcdNumber1 = new QLCDNumber;
lcdNumber1->setNumDigits(8);
lcdNumber1->display(12:00:00);
statusBar->addWidget(lcdNumber1);

QLCDNumber *lcdNumber2 = new QLCDNumber;
lcdNumber2->setNumDigits(8);
lcdNumber2->display(00:00:00);
statusBar->addWidget(lcdNumber2);
4

1 に答える 1

2

現在の時刻と別のスロット tick() を保持するために可変時間を追加する QLCDNumber を継承します。

QLCDNumber_my::tick(){
   time++;
   this->display(time);
}

その後

QLCDNumber_my *lcdNumber1 = new QLCDNumber_my;
lcdNumber1->setNumDigits(8);
lcdNumber1->display(12:00:00);
statusBar->addWidget(lcdNumber1);
QTimer *timer = new QTimer(this);
timer->start(1000);
connect(timer, SIGNAL(timeout()), lcdNumber1, SLOT(tick()));

QLCDNumber は単純な表示ウィジェットであり、実行することはできません。時間を変更するには、別のタイマー (QTimer) を使用する必要があります。

于 2013-09-20T10:22:00.913 に答える