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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: вызов сигнала с параметром  (Прочитано 3570 раз)
yuranich37
Гость
« : Август 01, 2012, 01:34 »

допустим, мне нужно связать сигнал QSpinBox::valueChanged(int i) с некоторым моим слотом someSlot().

запись connect (qspinbox, SIGNAL(valueChanged(qspinbox->value())), someclass, SLOT(someSlot())) не работает.
когда я меняю значение qspinbox'a программа выводит в терминал, что нет такого сигнала: valueChanged(qspinbox->value()).

Как в таком случае нужно связывать сигнал со слотом??
Записан
sidsukana
Гость
« Ответ #1 : Август 01, 2012, 06:46 »

Сигнал вызывается сам когда произойдет событие (в данном случае вы измените значение спинбокса). Вы должны просто написать слот для приема данных от сигнала.

т.е ваш слот должен иметь вид:

Код:
void someSlot(int i);

Далее в программе делаем связь (указывается только тип параметра, а так же параметры сигнала должны быть идентичны параметрам слота по типу и по количеству):

Код:
connect (qspinbox, SIGNAL(valueChanged(int)), someclass, SLOT(someSlot(int)));

Ну и сама обработка слота:

Код:
void someSlot(int i)
{
    label->setText(QString::number(i));
}

И почитайте на досуге про систему сигналов-слотов.
Записан
mutineer
Гость
« Ответ #2 : Август 01, 2012, 10:59 »

http://doc.crossplatform.ru/qt/4.7.x/signalsandslots.html
Записан
yuranich37
Гость
« Ответ #3 : Август 01, 2012, 11:42 »

sidsukana
Большое спасибо, в дальнейшем буду почаще обращаться к документации, сейчас просто иду по книжке Бланшет, Саммерфилд "Qt4. Программирование GUI на С++.2ed" и там, пока, к сожалению, про параметры у слотов и сигналов ничего не было сказано Грустный
Записан
lighting
Гость
« Ответ #4 : Август 01, 2012, 14:19 »

Бланшет и Саммерфилд, 2-е издание. Описание сигналов и слотов идет на 19 странице.
Записан
yuranich37
Гость
« Ответ #5 : Август 02, 2012, 11:42 »

я знаю. я про параметры говорю.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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