Перегрузка слота. qt
Мне кажется что вопрос глупый, но всё же спрошу. Как правильно перегрузить QAbstractButton::clicked().Но я не уверен что мне это действительно нужно.
connect(addBtn, SIGNAL(clicked()), this, SLOT(MainWindow::addTimerBtn(timeEdit,textEdit)));
Я решил воспользоваться данной строчкой кода, чтобы привязать слот к сигналу. Но я так понимаю что сигнал должен быть тоже написан мной? Изначально я хотел сделать это не через connect, но просто через условие if. Будьте добры, подскажите как правильно
Ответы (1 шт):
Автор решения: megorit
→ Ссылка
Я думаю, что вы что-то не то пишите.
- Во-первых,
connect()с макросами уже давно устарел. Он должен выглядеть как-то так:connect(ptr2btn,&QPushButton::clicked,this,&MyClass::mySlot); - Во-вторых, перегружать стандартный сигнал не за чем. Сигнал
clicked()реализован MOC. Реализация зависит от платформы. Сигнал - не более чем прототип, у него не должно быть реализации.
PS: Вот так:
- Соединяете как обычно сигнал со слотом:
connect(ptr2btn,&QPushButton::clicked,this,&MyClass::mySlot_1); - Определяете кастомный сигнал:
mySignal(Type_1,Type_2); - В
mySlot_1вызываетеemit mySignal(param_1,param_2);, который должен быть связан сmySlot_2. - Или тоже самое лямбдой.
Обычно так не делается. Но я не знаю, какую цель вы преследуете, поэтому - что просили.