![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Сабж. Я только сегодня сел изучать Qt.. но никак не могу понять ,как реализовать сабж.
Допустим есть кнопочка : QPushButton *choose = new QPushButton("Выбрать!"); и выпадающий список : QStringList list; list << " " << "profile 1" << "profile 2" << "profile 3" << "profile 4" << "profile 5"; QComboBox *combobox = new QComboBox; combobox->addItems(list); Я так понимаю, что надо написать фукнцию, которая будет вызываться как сигнал, при выборе хотя бы одного элемента, так? Как её можно реализовать?Какой слот или сигнал есть у комбобокса, возвращающий какое-либо значение, когда выбран элемент? Ещё вопрос : Как сделать в списке пустой элемент?Я имею ввиду не " " - т.к это тоже элемент списка, и в моем случае, при его выборе, кнопка будет активной.Я про пустой не выбираемый элемент. Тоже самое мне надо реализовать для флажкой(QCheckBox).т.е , есть флажок, и таже самая кнопочка. Подскажите, пожалуйста.. |
|
|
![]() |
Andrewshkovskii |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Все, понял..сигналы генерируются..слоты вызываются по сигналам..спасибо
не...не получается.. Значит так : При изменении позиции в QCombobox генерируется сигнал activated,так? Пишу слот : private slots: void SetChooseButtonProfileEnable(); Соединяю так : connect(ProfileList, SIGNAL(activated()), this, SLOT(SetChooseButtonCriteriaEnable() ) ); ProfileList - этой мой combobox. Что я делаю не так?... Реализация SetChooseButtonProfileEnable void Mail_choose:: SetChooseButtonProfileEnable(int index) { ChooseProfile->setEnabled(true); } ; +Поменял описания слота и соединение : connect(ProfileList,SIGNAL(activated(int)),this,SLOT(SetChooseButtonCriteriaEnab le(int))); Только смысла от этого... |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 12.6.2025, 5:39 |