Russian Qt Forum

Qt => Вопросы новичков => Тема начата: shtrix от Июль 03, 2016, 20:50



Название: maintoolBar + combobox
Отправлено: shtrix от Июль 03, 2016, 20:50

Код:
    QComboBox* ComboBoxCanSettings = new QComboBox(ui->mainToolBar);
   
    ComboBoxCanSettings->addItem("Банка 0.5");
    ComboBoxCanSettings->addItem("Банка 0.33");
    ComboBoxCanSettings->addItem("Банка 0.25");

    ui->mainToolBar->addWidget(ComboBoxCanSettings);
А как теперь отловить выбор в  ComboBox?


Название: Re: maintoolBar + combobox
Отправлено: PimenS от Июль 03, 2016, 20:56
Как минимум соединить сигнал, например: void currentIndexChanged(int index) со своим слотом.

PS. А вообще лучше почитать например это: http://doc.qt.io/qt-5/signalsandslots.html (http://doc.qt.io/qt-5/signalsandslots.html)


Название: Re: maintoolBar + combobox
Отправлено: shtrix от Июль 03, 2016, 21:43
Как минимум соединить сигнал, например: void currentIndexChanged(int index) со своим слотом.
Я в этом деле не силен(
Создал слот
Код:
public slots:
void can_settings(QString par);
Пытаюсь соединить
Код:
connect(this, SIGNAL(ComboBoxCanSettings->currentIndexChanged(int)),
           this,SLOT(can_settings(int)));

-----------------------------------------
QObject::connect: No such signal MainWindow::ComboBoxCanSettings>currentIndexChanged(QString)
QObject::connect:  (sender name:   'MainWindow')
QObject::connect:  (receiver name: 'MainWindow')
Пишет нет сигнала?
Код:
connect(ComboBoxCanSettings,SIGNAL(ComboBoxCanSettings>currentIndexChanged(QString)),this,SLOT(can_settings(QString)));

-----------------------------------------
QObject::connect: No such signal QComboBox::ComboBoxCanSettings>currentIndexChanged(QString)
QObject::connect:  (receiver name: 'MainWindow')
пишет нет сигнала?


Название: Re: maintoolBar + combobox
Отправлено: PimenS от Июль 03, 2016, 22:08
Я дал ссылку на документацию. Все же там написано. Почитайте хоть немного.

Код:
connect(this, SIGNAL(ComboBoxCanSettings->currentIndexChanged(int)), this,SLOT(can_settings(int)));

Какой объект у вас испускает сигнал? А какой должен?


Название: Re: maintoolBar + combobox
Отправлено: shtrix от Июль 03, 2016, 22:19
Я дал ссылку на документацию. Все же там написано. Почитайте хоть немного.

Код:
connect(this, SIGNAL(ComboBoxCanSettings->currentIndexChanged(int)), this,SLOT(can_settings(int)));

Какой объект у вас испускает сигнал? А какой должен?

Спасибо понял.
Код:
connect(ComboBoxCanSettings, SIGNAL(currentIndexChanged(int)), this,SLOT(can_settings(int)));