QComboBox не запущен - PullRequest
       29

QComboBox не запущен

0 голосов
/ 24 мая 2018

У меня есть этот listWidget, который отображает список собак (имя - порода).У меня есть этот комбинированный список, который должен позволить мне выбирать между отображением короткой версии (просто имя - порода) или подробной версии (имя - порода - возраст - вес - фотография).По какой-то причине мой 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;

    }

}

Что я делаю не так?Пожалуйста, помогите мне, я посмотрел везде: / Спасибо.PS.Мой метод заполненного списка работает сам по себе, я даже не могу отладить его, поскольку он не входит в метод события comboBox.

Определение класса: (заголовок) class QtGuiApplication: public QMainWindow {Q_OBJECT

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

(код)

1 Ответ

0 голосов
/ 24 мая 2018

Ваш комментарий "Нет такого слота QtGuiApplication :: on_comboBox_event (int)" предполагает, что заголовочный файл для QtGuiApplication не объявляет эту функцию-член как слот, он должен выглядеть следующим образом:

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

Qtиспользует инструмент moc.exe для анализа заголовочных файлов, который генерирует код для поиска слотов.В вашем случае слот, вероятно, не найден из-за отсутствующего объявления.

...