crossplatform.ru

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

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


Новичок


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

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




Репутация:   0  


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

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

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

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

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


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(CyMpak @ 1.8.2008, 0:18) *
привязать к какому-то слоту скролла

что за скролл?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 31.7.2008, 20:31
Сообщение #3


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

Группа: Участник
Сообщений: 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") //аналогично и т.д.
          }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 31.7.2008, 20:38
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Вообще в этом уроке поидее свои сигналы и слоты создавть нельзя, т.к. в учебном материале они еще не рассматривались.
(Это называется россияйская система образования) Но мне пока в голову ничего неприходит как это можно чужими слотами и сигналами реализовать, так что тутор так себе составлен.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Novak
  опции профиля:
сообщение 2.8.2008, 9:38
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 319
Регистрация: 15.3.2008
Из: Замкадыш
Пользователь №: 121

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




Репутация:   6  


*Рука сразу потянулась почему-то к оригинальной документации.
А там написано
Цитата
Try changing the LCD number to add more digits or to change mode (QLCDNumber::setMode()). You can even add four push buttons to set the number base.
You can also change the slider's range.

Тобишь нужно добавить четыре кнопки для выбора основания системы счисления (привет калькулятору с его hex oct bin dec). А также можно изменить диапазон значений, да и даже нужно при изменении основания.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.8.2008, 12:53
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Novak, спасибо, надо исправить перевод.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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