0

20 秒しか続かないポップアップが欲しいです。QTimerを使用すると思いますが、残り秒数を示す動的メッセージを設定することは可能ですか?

4

1 に答える 1

1

QDialog から継承し、2 つの QTimer イベントを使用できます。最初は 20 秒後にトリガーしてからダイアログを閉じるように設定し、2 番目は毎秒トリガーして残り時間で QLabel を更新するように設定します。QDialog が表示されたら、次のようにします。

m_DialogClose = startTimer(20 * 1000); // 20 seconds
m_RemainingTime = startTimer(1 * 1000); // 1 second

次に、ダイアログで timerEvent 関数をオーバーライドします。

void MyDialog::timerEvent(QTimerEvent *event)
{
    if(event->timerId() == m_DialogClose)
    {
        // close the dialog
    }

    else if(event->timerId() == m_RemainingTime)
    {
        // update the relevant QLabel text
    }
}
于 2013-07-22T14:10:53.303 に答える