如何将信号值QLineEditChanged连接到Qt中的自定义插槽

问题描述:

我需要将来自QLineEdit的valueChanged信号以编程方式连接到自定义插槽。我知道如何通过使用Qt Designer进行连接,并使用图形界面进行连接,但我想以编程方式进行连接,以便了解有关信号和插槽的更多信息。如何将信号值QLineEditChanged连接到Qt中的自定义插槽

这就是我所没有的。

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 &))); 
+0

改变的valueChanged到框TextChanged和静态QString const const QString&和工作。我不知道我错过了什么,特别是静态的QString(哇),非常感谢。同样非常感谢第二个例子,因为我也在想使用这个参数。非常感谢 –