QComboBox not triggered

QComboBox not triggered

本文关键字:triggered not QComboBox      更新时间:2023-10-16

我有这个列表小部件,它显示狗的列表(名称 - 品种(。 我有一个组合框,应该让我在显示短版本(只是名称 - 品种(或详细版本(名称 - 品种 - 年龄 - 体重 - 照片(之间进行选择。 出于某种原因,我的 comboBox 不执行任何操作,即使我的连接没有给我任何错误。 这就是我实现它的方式:

QObject::connect(ui.comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(on_comboBox_event(int)));
void QtGuiApplication::on_comboBox_event(int selection)
{
switch (selection) {
case 0:
this->populateDogsList();
break;
case 1:
this->populateDogsListDetailed();
break;
}
}

我做错了什么?请帮助我,我到处都看过:/谢谢。 附言。我的填充列表方法可以自行工作,我什至无法调试它,因为它不进入 comboBox 事件方法。

类定义:(标头( 类 QtGuiApplication : public QMainWindow { Q_OBJECT

公共: QtGuiApplication(Controller& ctrl, QWidget *parent = Q_NULLPTR(; ~QtGuiApplication(( {};

(代码(

您的评论"没有这样的插槽 QtGuiApplication::on_comboBox_event(int("表明 QtGuiApplication 的头文件没有将此成员函数声明为插槽,它应该如下所示:

class QtGuiApplication: public ...
{
Q_OBJECT
...
public slots:
void on_comboBox_event(int);
...
}

Qt使用一个名为moc.exe的工具来解析头文件,从而生成用于插槽查找的代码。在您的情况下,由于缺少声明,可能找不到插槽。