我想创建一个qt应用程序,其中每隔10秒调用一次函数来更改qlineedit中的文本。我是qt编程的新手。请帮帮我。
答案 0 :(得分: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());
}
您需要修改它以执行您需要的任何操作。
答案 1 :(得分:1)
查看QTimer课程。 //或者告诉我们更多关于你究竟该怎么做的事情。