Ich versuche show()
ein verstecktes MainWindow von meinem main.cpp
(in der Tat sind alle Fenster an dieser Stelle versteckt). Ich habe versucht, etwas wie folgt:Qt: Wie versteckte Fenster auflisten?
QList<QWindow*> windows = QApplication::allWindows();
for (int i = 0; i < windows.size(); ++i) {
if (windows.at(i)->objectName() == "MainWindow")
windows.at(i)->show();
}
Aber es funktioniert nicht.
In Qt-Dokumentation in QApplication::allWidgets()
gibt es eine Anmerkung:
Hinweis: Einige der Widgets versteckt werden können.
Als ob diese Funktion Listing wurde nicht versteckt Widgets und ich nehme an, das ist der gleiche Fall mit allWindows()
, weil ich dieses Stück Code getestet, wenn die Fenster nicht verdeckt sind und es funktionierte.
Grundsätzlich in der void MainWindow::closeEvent
Funktion, die ich tun:
event->ignore();
hide();
Und dann will ich in der Lage sein, die Hauptfenster wieder zu öffnen, wenn ich auf das Symbol der Anwendung klicken.
Hat jemand eine bessere Idee, wie man ein verstecktes Fenster von main.cpp
zeigt oder kann zeigen, wenn ich etwas falsch mache?
edit: das funktioniert wohl, meine Ausgabe lag irgendwo total anders.
Haben Sie versucht, Beispielcode hier: http://doc.qt.io/qt-5/qapplication.html#topLevelWidgets?Es sollte funktionieren, laut docs. – vahancho
Interessant genug, es funktioniert auch nicht. – madasionka
Aber das würde bedeuten, dass die Funktionen, die ich erwähnte, versteckte Dateien nur aus irgendeinem Grund auflisten, weil sie nicht so funktionieren, wie ich es in meinem Fall erwarten würde. – madasionka