1

我想创建一个 qt 应用程序,其中每 10 秒调用一次函数来更改 qlineedit 中的文本。我是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 回答