我需要以编程方式将QLineEdit的valueChanged信号连接到自定义插槽。我知道如何使用Qt Designer进行连接并使用图形界面进行连接,但是我想通过编程方式进行连接,因此我可以了解有关信号和插槽的更多信息。
这就是我所没有的。
.cpp文件
// constructor
connect(myLineEdit, SIGNAL(valueChanged(static QString)), this, SLOT(customSlot()));
void MainWindow::customSlot()
{
qDebug()<< "Calling Slot";
}
.h文件
private slots:
void customSlot();
我在这里想念什么?
谢谢
最佳答案
QLineEdit
似乎没有valueChanged
信号,但没有textChanged
(有关支持的信号的完整列表,请参阅Qt文档)。
您还需要更改connect()
函数调用。它应该是:
connect(myLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(customSlot()));
如果需要在插槽中处理新的文本值,则可以将其定义为
customSlot(const QString &newValue)
,因此您的连接将如下所示:connect(myLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(customSlot(const QString &)));