Russian Qt Forum

Qt => Model-View (MV) => Тема начата: DiamondRain от Январь 15, 2011, 20:46



Название: Сигнал от любой кнопки на форме.
Отправлено: DiamondRain от Январь 15, 2011, 20:46
Пишу крестики-нолики. С помощью сигналов-слотов хочу обрабатывать нажатия на ячейки. Как написать универсальный QObject::connect, в котором можно было бы обрабатывать нажатия любой из 9 кнопок на форме? А то писать для каждой кнопки отдельный QObject::connect считаю нерациональным. К тому же, если бы я писал, к примеру "Сапёра", то пришлось бы обрабатывать сотню-две-три нажатий кнопок.


Название: Re: Сигнал от любой кнопки на форме.
Отправлено: Авварон от Январь 15, 2011, 20:59
QSignalMapper


Название: Re: Сигнал от любой кнопки на форме.
Отправлено: DiamondRain от Январь 15, 2011, 21:05
Спасибо!


Название: Re: Сигнал от любой кнопки на форме.
Отправлено: lit-uriy от Январь 15, 2011, 21:24
а цикл сделать?

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


Название: Re: Сигнал от любой кнопки на форме.
Отправлено: DiamondRain от Январь 15, 2011, 21:36
Я сделал в дизайнере с именами: firstButton, secondButton... Но по примерам вижу, что тут вообще без дизайнера следует делать.


Название: Re: Сигнал от любой кнопки на форме.
Отправлено: DiamondRain от Январь 15, 2011, 21:46
QSignalMapper

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

это в setMapping во втором параметре передать имя кнопки?


Название: Re: Сигнал от любой кнопки на форме.
Отправлено: Авварон от Январь 15, 2011, 23:03
калькулятор смотри, там вроде как раз сигнал маппер используется.
Индексируешь кнопки, а дальше работаешь с массивом


Название: Re: Сигнал от любой кнопки на форме.
Отправлено: Fat-Zer от Январь 16, 2011, 00:11
Можно более топорный метод через Sender