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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сигнал от любой кнопки на форме.  (Прочитано 4383 раз)
DiamondRain
Гость
« : Январь 15, 2011, 20:46 »

Пишу крестики-нолики. С помощью сигналов-слотов хочу обрабатывать нажатия на ячейки. Как написать универсальный QObject::connect, в котором можно было бы обрабатывать нажатия любой из 9 кнопок на форме? А то писать для каждой кнопки отдельный QObject::connect считаю нерациональным. К тому же, если бы я писал, к примеру "Сапёра", то пришлось бы обрабатывать сотню-две-три нажатий кнопок.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Январь 15, 2011, 20:59 »

QSignalMapper
Записан
DiamondRain
Гость
« Ответ #2 : Январь 15, 2011, 21:05 »

Спасибо!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Январь 15, 2011, 21:24 »

а цикл сделать?

П.С.
посмотри штатный пример "Калькулятор"
Записан

Юра.
DiamondRain
Гость
« Ответ #4 : Январь 15, 2011, 21:36 »

Я сделал в дизайнере с именами: firstButton, secondButton... Но по примерам вижу, что тут вообще без дизайнера следует делать.
Записан
DiamondRain
Гость
« Ответ #5 : Январь 15, 2011, 21:46 »

QSignalMapper

А если мне нужно изменить картинку на кликнутой кнопке, то как быть?

это в setMapping во втором параметре передать имя кнопки?
« Последнее редактирование: Январь 15, 2011, 21:48 от DiamondRain » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #6 : Январь 15, 2011, 23:03 »

калькулятор смотри, там вроде как раз сигнал маппер используется.
Индексируешь кнопки, а дальше работаешь с массивом
Записан
Fat-Zer
Гость
« Ответ #7 : Январь 16, 2011, 00:11 »

Можно более топорный метод через Sender
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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