Randloses Fenster in Qt unter Windows, das native Funktionen unterstützt: Aero-Snap, DWM-Größenanpassung und Minimierung

8

Ich versuche, ein randloses Fenster in Qt unter Windows zu erstellen, das native Features unterstützt: Aero-Snap, DWM-Größenanpassung und Minimierung, Shake usw. Wie Office 2013 oder Visual Studio 2012. Aber sie sind in wpf geschrieben. Es gibt viele Beispiele in wpf und reinem WinApi, aber ich konnte kein Qt-Beispiel finden.

Vor kurzem habe ich Blizzards Battle.net App gefunden ( Screenshot ) . Sie verwenden QT 4.8.5 und ihr Hauptfenster sieht und verhält sich genau so, wie ich es in meiner App möchte.

Weiß jemand, wie man das macht?

Danke für Ihre Hilfe.

    
PKE 03.03.2014, 22:02
quelle

2 Antworten

7

Ich habe einen Workaround für dieses Problem gefunden.

Anstatt Qt-Hauptfenster zu verwenden, habe ich ein einfaches randloses WinAPI-Fenster erstellt, wie in diese SO-Diskussion . Dann habe ich QWinWidget aus dem QtWinMigrate-Projekt hinzugefügt und das Fenster damit gefüllt.

Als Ergebnis werden Hauptfenster und größenveränderbare Kanten von WinAPI verarbeitet, und alles innerhalb des Hauptfensters wird von QWinWidget gehandhabt. Und mit QWinWidget können Sie Qt GUI wie in jeder anderen Qt App erstellen.

Hier ist ein kleines Beispielprojekt auf GitHub.

    
PKE 02.08.2014, 22:14
quelle
1

Vielleicht hilft Ihnen das, Windows-spezifische Qt-Klassen WinExtras

Ссылка

Ссылка

Außerdem können Sie QT Quick 2.0 verwenden, um eine Benutzeroberfläche ähnlich wie WPF zu erstellen

    
adnan kamili 04.03.2014 06:54
quelle

Tags und Links