Russian Qt Forum
Ноябрь 24, 2024, 13:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Связать combobox c checkbox...  (Прочитано 5241 раз)
IzoLda
Гость
« : Январь 11, 2011, 07:48 »

Здравствуйте!
Я недавно начала изучение Qt...На данный момент я делаю систему авторизации с распределением прав доступа.У меня есть combobox и еще 4-е checkbox.В combobox выбирается пользователь в зависимости от которого галочки на checkbox должны меняться. Не мог бы кто нить подсказать как это осуществить???
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Январь 11, 2011, 08:22 »

У комбобокса есть сигналы
void   activated ( int index )
void   activated ( const QString & text )
Коннектишь нужный из них к своему слоту, в котором и меняешь состояние чекбоксов. Про сигналы/слоты читай в ассистенте.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
IzoLda
Гость
« Ответ #2 : Январь 11, 2011, 08:44 »

Спасибо за ответ!
Я делала так:
connect(combobox, SIGNAL(activated(int index)), this, SLOT(Choose(int index)));
где Choose(int index)
void Authorisation::Choose(int index)
{
    if ( Level[index] == "1" )
    {
        AdminCheckBox->setChecked(true);
        EditCheckBox->setChecked(true);
   ContCheckBox->setChecked(true);
   ViewCheckBox->setChecked(true);
    }
     if ( Level[index] == "2" )
     ...
}
в Level[index] у меня считывается уровень доступа соответствующего пользователя...так не получается,в чем ошибка подскажите,пож-та!!
Записан
Fat-Zer
Гость
« Ответ #3 : Январь 11, 2011, 09:02 »

если Level - массив QString или другого умного строкого типа, то должно работать... если массив интов, то уберите квычки... если чаров, то ковычки должны быть одинарные... если char*, то так не пойдёт... плюс могут быть ещё какие-то проблеммы...

ЗЫ: вроде не одобряется писать переменные при связывании сигнал-слота...
connect(combobox, SIGNAL(activated(int)), this, SLOT(Choose(int)));
Записан
IzoLda
Гость
« Ответ #4 : Январь 11, 2011, 09:13 »

 Веселый работает!!!Большое спасибо!!!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.22 секунд. Запросов: 23.