crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Учебное пособие, Вопрос по учебному пособию к документации
CyMpak
  опции профиля:
сообщение 31.7.2008, 20:18
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 9.7.2008
Пользователь №: 229

Спасибо сказали: 0 раз(а)




Репутация:   0  


Начал проделывать примеры из учебного пособия для систематизации знаний, а то в голове что-то близкое к манной каше. Наткнулся на камень преткновенья в 5-ой главе, не сделал дз.

Для начала вот это поставило в тупик:
>>Также Вы можете добавить 4 кнопки определяющие какое либо число отображаемое виджетом lcd и выставляемое ползунком.

Понимаю, что по щелчку кнопка отдает сигнал который можно привязать к какому-то слоту скролла. Но просмотрев документацию, подходящего мне не нашел. Дальше, естесственно, пошел влоб: решил наследовать слот виджета слотом, выставляющим нужное число (число жестко вшивается в сам слот). А потом прочитал, что кнопок надо 3 и стало совсем не весело. Если на каждую отдельный слот создавать, то интерфейс бесчеловечный получается.

Либо еще мысль была между кнопкой и слотом посредника добавить, но тут реализацию не придумывал.

По идее это пошаговое учебное пособие, так что ничего сверхъестественного не должно быть. Поэтому и прошу объяснить мне, где именно я дурак?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
void*
  опции профиля:
сообщение 31.7.2008, 20:31
Сообщение #2


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


что-то типа такого имелось ввиду?
/*интерфейс твоего класса*/
public:
          конструктор() {
                                btn10 = new QPushButton("10");
                                btn20 = new QPushButton("20");
                                btn30 = new QPushButton("30");
                                btn40 = new QPushButton("40");
                                connect(btn10, SIGNAL(clicked()), this, SLOT(buttonClicked()));
                                connect(btn20, SIGNAL(clicked()), this, SLOT(buttonClicked()));
                                connect(btn30, SIGNAL(clicked()), this, SLOT(buttonClicked()));
                                connect(btn40, SIGNAL(clicked()), this, SLOT(buttonClicked()));
          }
private:
          QPushButton *btn10;
          QPushButton *btn20;
          QPushButton *btn30;
          QPushButton *btn40;
public slots:
          void buttonClicked() {
                  if(sender()->text() == "10") //выставить lcd и slider'у значение 10
                  else if(sender()->text() == "20") //аналогично и т.д.
          }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 18:42