(слева от "крестика") выполнялись мои функции. Переопределил метод QWidget::event. Отслеживаю нажатие на кнопку, пытаюсь проигнорировать методы, вызываемые при нажатии на кнопку по дефолту, но они все-равно отрабатывают. Подскажите, пожалуйста, как отключить методы, вызываемые по умолчанию при нажатии на кнопку изменения размера окна?
bool MainWindow::event(QEvent* event)
{
if (event->type() == QEvent::WindowStateChange)
{
event->ignore();
}
else
{
QMainWindow::event(event);
}
return true;
}
Скрыть дефолтную полоску, вставить виджет со своими кнопками и крестиками и описать как надо
Qt::WindowMinMaxButtonsHint - через setWindowFlags() установить нужные кнопки
попробуй через eventFilter: bool MainWindow::eventFilter(QObject* object, QEvent* event) { switch (event->type()) { case QEvent::WindowStateChange: { event->ignore(); // мои действия return true; } default: { return QMainWindow::eventFilter(object, event); } } }
Обсуждают сегодня