QComboBox активирован (int)

0

Я использую qt 5.2. Мой вызов функции подключения:

QObject::connect(ui->mycombobox, SIGNAL(activated(0)), ui->mypushbutton, SLOT(toggle()));
// When I select first element from mycombobox, mypushbutton must be disabled

Печать программы:

QObject::connect: No such signal QComboBox::activated(0) in <myfile>
  • 2
    Чего ты пытаешься достичь? Вы не можете передать int как параметр для подключения (там вы можете только указать типы), поэтому, если вам нужна помощь, вам нужно сообщить нам, что вы хотите сделать, и вам никогда не помешает прочитать о сигналах и слотах в документации : qt-project.org/doc/qt-5/signalsandslots.html
Теги:
qt

1 ответ

5
Лучший ответ

Сигнал, который вы пытаетесь использовать, активируется (int), я понятия не имею, почему вы пытаетесь подключить активированный (0). Это должно быть так:

QObject::connect(ui->mycombobox, SIGNAL(activated(int)), ui->mypushbutton, SLOT(toggle()));

Если вы хотите отфильтровать действие с помощью индекса элемента, вы должны передать аргумент вашему слоту и выполнить определенное действие, например:

QObject::connect(ui->mycombobox, SIGNAL(activated(int)), this, SLOT(mySlot(int)));
/*...*/
void MyClass::mySlot(int arg)
{
    if(arg == 0)
          ui->mypushbutton.toggle();
}
  • 0
    Это сработало! Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню