Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Sahsa от Апрель 20, 2016, 23:58



Название: Передать слот в качестве параметра для функции
Отправлено: Sahsa от Апрель 20, 2016, 23:58
Здравствуйте. Я испытываю затруднения в реализации следующей функции.
Мне нужно реализовать отдельную функцию, в которой в качестве параметра передается кнопка(из ToolBar), и слот с которой она в последующем будет соединяться. Внутри самой функции идет непосредственное создания этой кнопки и добавления ее на ToolBar, а далее она при помощи connect соединяется с переданным слотом.
Если есть у кого возможность, напишите пожалуйста этот маленький пример или скиньте ссылку где это уже встречалось. Заранее Спасибо всем)


Название: Re: Передать слот в качестве параметра для функции
Отправлено: ssoft от Апрель 21, 2016, 08:14
Что-то наподобие?

Код
C++ (Qt)
void makeButton ( QToolBar * tool_bar, const char * slot_name )
{
   QPushButton * button = new QPushButton( tool_bar );
   connect( button, SIGNAL( clicked() ), tool_bar, slot_name );
}
...
{
   makeButton( tool_bar, SLOT( blablaSlot() );
}
 

Но что-то сам подход выглядит странно.


Название: Re: Передать слот в качестве параметра для функции
Отправлено: Sahsa от Апрель 21, 2016, 08:48
Да, Спасибо) я знаю что он выглядит странно, но так нужно просто)


Название: Re: Передать слот в качестве параметра для функции
Отправлено: kambala от Апрель 21, 2016, 11:30
в Qt 5 можно передавать указатель на метод вместо старого способа со SLOT()