1

qlineedit のテキストを変更するために 10 秒ごとに関数が呼び出される qt アプリケーションを作成したいと考えています。私はqtプログラミングの初心者です。私を助けてください。

4

2 に答える 2

2

QTimerを使用して、更新を行うスロットに接続します。

このクラスがそれを行います (メモ、これを直接 StackOverflow に入力したため、コンパイル エラーが発生する可能性があります)。

class TextUpdater : public QObject {
    public:
        TextUpdater(QLineEdit* lineEdit);
    public slots:
        void updateText();
};


TextUpdater::TextUpdater(QLineEdit* edit)
:QObject(lineEdit), lineEdit(edit)
 // make the line edit the parent so we'll get destroyed
 // when the line edit is destroyed
{
    QTimer* timer = new QTimer(this);
    timer->setSingleShot(false);
    timer->setInterval(10 * 1000); // 10 seconds
    connect(timer, SIGNAL(timeout()), this, SLOT(updateText()));
}

void TextUpdater::updateText()
{
    // Set the text to whatever you want. This is just to show it updating
    lineEdit->setText(QTime::currentTime().toString());
}

必要なことを行うには、それを変更する必要があります。

于 2013-01-31T18:36:07.443 に答える
1

QTimerクラスを見てください。//または、その方法がわからないことについて詳しく教えてください。

于 2013-01-31T16:52:15.693 に答える