尝试根据QTimer发布的时间显示文本...
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
m_label1 = new QLabel("My Label not working", this);
QTimer* timerDisplay = new QTimer(this);
connect(timerDisplay, SIGNAL(Started()), this, SLOT(updateDisplay(this)));
timerDisplay->start(10);
}
void updateDisplay(MainWindow* m_this)
{
QString out;
out = "hello";
m_this->m_label1->setText("asdf");
}
答案 0 :(得分:3)
connect(timerDisplay, SIGNAL(Started()), this, SLOT(updateDisplay(this)));
这句话失败了。你忽略了Qt在你的控制台上打印的消息。
问题是,你不能在connect
语句中传递变量。那顺便呢?您可以在this
方法中使用updateDisplay
,而无需明确地传递它!