Итак, я хочу добавить несколько стилей к моей кнопке. Итак, я создал класс, производный от QPushButton. Я переопределил функции mousePressEvent и mouseReleaseEvent. Все идет нормально. Все работает как положено и кнопки меняют цвет при нажатии и отпускании.
Проблема возникает, когда в моем MainWindow я пытаюсь реализовать on_button_clicked (). Это просто не сработает.
Я немного поэкспериментировал с event-> accept и event-> ignore. это не сработало.
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
void MainWindow::on_characters_clicked()
{
qDebug("Hello");
}
void Button::mousePressEvent(QMouseEvent* event)
{
setStyleSheet(defaultStyle + "Background-color: gray;");
}
void Button::mouseReleaseEvent(QMouseEvent* event) {
setStyleSheet(defaultStyle + "Background-color: darkgray; border: 1px solid gray; color: white;");
}
Я хочу, чтобы на моей кнопке были стили как при нажатии, так и при отпускании, и функциональность. Я могу написать класс наблюдателя и решить это, но я чувствую, что должно быть более простое решение.