Чтобы объяснить ситуацию, у меня есть QMainWindow с множеством вещей внутри.Моя цель - сделать какое-то уведомление, которое появляется в правом нижнем углу этого окна.
Виджет уведомлений должен быть поверх всех остальных виджетов.
Пока что я создал этот виджет уведомлений, который наследуется от QWidget.Установив QMainWindow в качестве его родителя, я получил его «плавающим» поверх всех остальных виджетов. не относится ни к какому макету .Теперь большая проблема состоит в том, чтобы заставить это придерживаться нижнего правого угла.Мне удалось разместить его вручную, но сейчас я хочу переместить его на событие изменения размера.
К сожалению, поскольку он не принадлежит ни к какому макету, он не получает никакого resizeEvent, поэтому я не могу перегрузить функцию resizeEvent ().Была попытка заставить QMainWindow излучать сигнал в его методе resizeEvent, но я не очень доволен этим методом.Тем более, что в конструкторе виджетов Notification у меня есть этот connect(static_cast<MainWindow*>(parent), &MainWindow::resized, this, &Notification::update_position);
, и он как бы нарушает универсальность виджета, поскольку его родительский должен быть виджетом MainWindow.
Так что вопрос в том, какодин виджет может реагировать на другое событие виджета?В моем случае здесь как можно уведомлять виджет уведомлений, когда его родительский элемент изменяется в размерах? И я забыл упомянуть, что не хочу, чтобы виджет MainWindow что-либо знал об этом виджете уведомлений.Виджет уведомлений может управляться самостоятельно.Вы просто называете что-то вроде new Notification(parent)
, и он будет делать свое дело самостоятельно
Любые идеи приветствуются, заранее спасибо:)