我正在用 C++ 编写一个程序,我需要使标签中的文本动态变化。也就是说,例如:
for (int i = 0; i < 50;i++) {
ui->label->setNum(i);
}
但是在这样的程序中当然没有任何作用,即按下它后,它立即显示49。我怎样才能使它可以看到它是如何变化的呢?“1..2..3....45”?尝试了诸如 label->repaint 和 label->update 之类的方法,但没有任何帮助。
我正在用 C++ 编写一个程序,我需要使标签中的文本动态变化。也就是说,例如:
for (int i = 0; i < 50;i++) {
ui->label->setNum(i);
}
但是在这样的程序中当然没有任何作用,即按下它后,它立即显示49。我怎样才能使它可以看到它是如何变化的呢?“1..2..3....45”?尝试了诸如 label->repaint 和 label->update 之类的方法,但没有任何帮助。
您需要创建一个计时器。一个粗略的例子可能看起来像这样
在这里,我为来自计时器的事件处理程序使用了一个 lambda(一个未命名的函数),但通常在其中一个对象(同时拥有计时器和计数器)的处理程序下创建一个插槽并紧贴插槽。