QMdiSubWindow geometry and size save and restore
-
Hi
What about an event filter?https://stackoverflow.com/questions/8818297/qt-how-to-know-when-a-qmdisubwindow-is-closed
not that subclassing QMdiSubWindow is a bad idea and im sure you can use it
with minimal casting to use with the std. QMdiArea -
@artwaw
well event filters are handy for catching events from outside in cases where subclassing might be a bit invasive to existing code or subclassing would be a bit massive if many types of widgets are involved.That said, one has to take care not to eat events by accident.
-
@artwaw
Hi
Well i guess any open windows are just deleted, not closed as such, when whole app exits.One way could be to override closeEvent for the mainwindow and
loop over the windows (ui->mdiArea->subWindowList ) , calling close() on each
to have the event code handle it like they were manually closed. -
@artwaw
Hi
Ah yes. my bad. sorry. the close() function is a direct method.
So move the inner saving code to a function that takes a QMdiSubWindow *
and call that from closeEvent pr Window.You could also use
QCoreApplication::postEvent
to send a close to them. -
@mrjj it's interesting how it doesn't work.
I tried both postEvent and sendEvent, the former with normal and high priority - to no avail.What's even more interesting for me here is that when mdi sub window is getting closed independently the internal widget's closeEvent() is being processed. When I just close the application with sub windows opened their closeEvent()s are not called at all - so implementing custom class based on QMdiSubWindow and overriding its closeEvent() makes no sense too.
I am truly puzzled now.
-
@artwaw
Hi
excellent :)Just as a note. If you get very into Docks then please notice
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-Systemas It can dock to central/center, a feature which often is much loved when you want such setup.