@Neyury

Самый простой способ вызова функции в QT?

При нажатии на определенную кнопку, требуется выполнить определенную функцию (отобразить модальное окно, сортировка, удаление и т.д), в общем простейшая обработка события.

Верно ли я понимаю, что самый простой способ, это создать дочерний класс от QPushButton для каждой кнопки, и определить в нем соответствующий слот(функцию)? Или есть способ проще?
  • Вопрос задан
  • 928 просмотров
Решения вопроса 1
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Наследование стоит применять тогда, когда вам нужен доступ к состоянию и детальным событиям. Для обработки нажатия достаточно прицепить ваш обработчик на сигнал QPushButton::clicked:

auto btn = new QPushButton("click me!");

QObject::connect(btn, &QPushButton::clicked, []() { 
// создание диалога и вызов его в модальном режиме (через QDialog::exec)
});
//-----------------------------------
void myFoo() { }

auto btn = new QPushButton("click me!");
QObject::connect(btn, &QPushButton::clicked, myFoo);

UPD: В вашем случае можно сделать примерно так:
auto btn = new QPushButton("click me!");

QObject::connect(btn, &QPushButton::clicked, []() { 
    ::updateTable(table);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
НТЦ ПРОТЕЙ Санкт-Петербург
от 100 000 до 150 000 ₽
Barbatum Барнаул
от 30 000 до 80 000 ₽
Flipper Devices Inc. Москва
от 120 000 ₽
13 июн. 2021, в 12:06
4000 руб./за проект
13 июн. 2021, в 09:41
10000 руб./за проект