QT 的 lineEdit的textChanged(const QString &)信号被触发两次的原因

写了一个信号-槽的连接语句:connect(ui.lineEdit, SIGNAL(textChanged(const QString &)), this,SLOT(on_lineEdit_textChanged(const QString &)));

随后定义了槽函数:on_lineEdit_textChanged(const QString &);

但运行时发现,该槽函数竟然运行了两次。

通过分析,原因竟然是:槽函数的命名有问题(红色部分)。

修改:将上述connect语句去掉即可。或者将槽函数的名字修改一下。。。


setupUi函数会自动将符合on_objectName_signalName()命名惯例的任意槽
与相应的objectName的signalName()信号连接到一起。





你可能感兴趣的:(QT)