我在信号和插槽上跟踪了这个Qt tutorial,包括删除你可以在Qt Designer中自动创建的连接的部分,而是在mainwindow.cpp中手动输入connect
函数。我想创建自己的插槽,移动教程QSlider
更改了我添加的QLineEdit
,所以我这样做了:
QLineEdit
添加了一个名为lineEdit
的{{1}}小部件。在mainwindow.ui
中的MainWindow
类定义中,我在课程的底部添加了这个。
mainwindow.h
在mainwindow.cpp的public slots:
void changeLineEdit() {
ui->lineEdit->setText("Value was changed");
}
构造函数中,我添加了:( MainWindow
是本教程中的QSlider。)
ui->horizontalSlider
当我尝试构建项目时,我得到 9 错误,其中一个是"使用未定义类型connect(ui->horizontalSlider, SIGNAL(valueChanged(int)), SLOT(changeLineEdit()));
"。我在这次编辑中做错了什么?
Ui::MainWindow
类定义有一个私有指针MainWindow
,所以我认为插槽定义会访问Ui::Mainwindow *ui
指针,因此包含ui
小部件。
答案 0 :(得分:1)
如果您在标题中实现了广告位,请确保在您的课程标题中加入UI::MainWindow
标题。通常我会在cpp
文件中实现我的插槽,但这不是必需的。