C++ 如何访问添加到此Qt示例中的QLineEdit小部件?
我在信号和插槽上遵循了这个Qt,包括删除可以在Qt Designer中自动建立的连接的部分,并在mainwindow.cpp中手动键入C++ 如何访问添加到此Qt示例中的QLineEdit小部件?,c++,qt,C++,Qt,我在信号和插槽上遵循了这个Qt,包括删除可以在Qt Designer中自动建立的连接的部分,并在mainwindow.cpp中手动键入connect函数。我想在移动教程的QSlider更改我添加的QLineEdit的位置创建自己的槽,所以我这样做了: 我在Qt设计器中的mainwindow.ui中添加了一个名为lineEdit的QLineEdit小部件 在MainWindow.h中的MainWindow类定义中,我将其添加到类的底部 public slots: void changeLine
connect
函数。我想在移动教程的QSlider
更改我添加的QLineEdit
的位置创建自己的槽,所以我这样做了:
mainwindow.ui
中添加了一个名为lineEdit
的QLineEdit小部件
MainWindow.h
中的MainWindow
类定义中,我将其添加到类的底部
public slots:
void changeLineEdit() {
ui->lineEdit->setText("Value was changed");
}
MainWindow
构造函数中,我添加了以下内容:(ui->horizontalSlider
是教程中制作的QSlider。)
Ui::MainWindow
”。我在这次编辑中做错了什么?MainWindow
类定义有一个私有指针Ui::MainWindow*Ui
,因此,我认为插槽定义将访问ui
指针,从而访问其中包含的lineEdit
小部件。如果在标题中实现插槽,请确保在类标题中也包含ui::MainWindow
的标题。通常情况下,我会在cpp
文件中实现我的插槽,但这不是一个要求。通常,您会在cpp文件中实现您的插槽。至少我知道。使用未定义类型“Ui::MainWindow”意味着,由于您在头文件中实现了它,您必须在头文件中添加include Ui::MainWindow,而不仅仅是您的cpp文件。@drescherjm噢,我忘了这一点。是的,我在教程中声明了一个UI::MainWindow
,但是因为我在那里定义了我的插槽,所以我还必须在头文件中包含#include“UI\u MainWindow.h”
,才能真正初始化它。谢谢,下次我将在.cpp中实现它。我可以接受你的评论作为回答。
connect(ui->horizontalSlider, SIGNAL(valueChanged(int)), SLOT(changeLineEdit()));