@Neyury

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

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

Верно ли я понимаю, что самый простой способ, это создать дочерний класс от QPushButton для каждой кнопки, и определить в нем соответствующий слот(функцию)? Или есть способ проще?
  • Вопрос задан
  • 1449 просмотров
Решения вопроса 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);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы