【发布时间】:2020-06-22 06:44:50
【问题描述】:
我是 QT 的新手。我通过向导创建了一个应用程序。它的 UI 后端创建如下。
QTimer *timer; // NEW
void TimerSlot(); // NEW slot
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
//saveSetting();
loadSettings();
ui->setupUi(this);
// this->layout()->setSizeConstraint(QLayout::SetFixedSize);
const QString time = QDateTime::currentDateTime().toString();
ui->currentDateTime->clear();
ui->currentDateTime->setText(time);
timer = new QTimer(this); // create it
connect(timer, &QTimer::timeout, this, TimerSlot); // connect it
timer->start(1000); // 1 sec timer
}
void TimerSlot()
{
ui->lbl.setText(QDateTime::currentDateTime().toString());
}
我在 UI 上放置了一个名为 currentDateTime 的标签。我创建了一个计时器和一个名为 myFunc() 的函数来更新标签上的时间 (lbl)。我想在timer 的每 1 秒滴答声中更新标签 (currentDateTime)。我将定时器信号与插槽 (myFunc) 连接起来。在myFunc 中,我想访问标签以使用正确的时间更新文本,但它给了我错误。
我想知道两件事,
- 在
MainWindow类的自动创建中,我如何声明private和public数据和成员函数, - 如何从
myFunc()访问此currentDateTime标签。
我们将不胜感激。
【问题讨论】:
标签: c++ qt user-interface