Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.107.96] |
|
Сообщ.
#1
,
|
|
|
connect(ui->action_PrintScreen, SIGNAL(triggered(bool)), this, SLOT(vScreenShot(QWidget *)));
Функция: void Form_Main::vScreenShot(QWidget *qWidget) В текущем h-файле: public slots: void vScreenShot(QWidget *qWidget); Функция скриншота не вызывается именно из-за того, что присутствует входной параметр у SLOT. Как записать входной параметр правильно? Даже если просто пустые скобки указать - в функцию попадания не получается. "The signature of a signal must match the signature of the receiving slot." - не понимаю, как это можно использовать в ситуации. Как создать свой сигнал для Actions? ->AddActions не дает возможности создать акцию со списком параметров. Понимаю, что можно создать класс новый с классом Form_Main внутри и свойством QWidget - но не вижу в этом смысла: проще глобальную переменную сделать и менять ее значение перед вызовом из MenuBar'а. Добавлено Или класс со свойствами для всех функций MenuBar'а. |
Сообщ.
#2
,
|
|
|
Можно написать "прокси" сигнал/слот.
Т.е. на triggered(bool) написать свой SomeSlot(bool), внутри которого - emit SomeSignal(QWidget *) Ну и внутри своего сигнала передавать нужный указатель как параметр. |
Сообщ.
#3
,
|
|
|
Цитата JoeUser @ Просто создал глобальный класс со свойствами для коннектов. |