Plattform - Windows 7,8,10Wie mache ich das Hauptfenster von Qt Application so, dass es immer über anderen Fenstern in Windows OS steht?
Ich habe eine QApplication von QMainWindow erstellt. Ich möchte, dass es immer oben auf allen anderen Fenstern bleibt.
Ich habe Qt-Flags (Qt :: WindowStaysOnTopHint) verwendet, um dies zu erreichen. Aber dieses Qt-Flag funktioniert nicht. Die Anwendung ist eine rahmenlose Anwendung.
Hier finden Sie den Code des Konstruktors meiner Qt App.
myApp::myApp(QWidget *parent)
: QMainWindow(parent)
{
setWindowFlags(Qt::Widget | Qt::FramelessWindowHint);
setWindowFlags(this->windowFlags() | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint);
ui.setupUi(this);
}
Wie kann ich dieses Flag funktionieren lassen?
Ich habe alle von mehreren Mitgliedern der Gemeinschaft vorgeschlagenen Optionen ausprobiert. Mein jetziger Code ist wie folgt
Qt::WindowFlags flags = this->windowFlags();
this->setWindowFlags(flags | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
ui.setupUi(this);
merkwürdige Tatsache ist, dass dies nie auf meiner Maschine arbeitet. Wenn ich ein Installationsprogramm erstelle oder die erforderlichen Dateien kopiere und auf einem anderen Rechner laufe (Windows 7, 8, 10), bekomme ich meine Anwendung über alle anderen Fenster. Hinweis: ich Visual Studio Community Edition 2015 OS verwende - Windows 7 Professional Service Pack 1.
Ich habe Ihre Lösung versucht. Manchmal funktioniert es und manchmal nicht. Ich weiß nicht, warum es manchmal nicht funktioniert. –