Frameless Window mit System Menü unter Windows

Alles rund um die Programmierung mit Qt
Antworten
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Frameless Window mit System Menü unter Windows

Beitrag von FlorianBecker »

Hi,

ich habe ein Widget und möchte es ohne Rahmen darstellen, aber einen Eintrag in der Taskleiste anzeigen und dort das normale Systemmenü haben.

Ich habe viele Kombinationen probiert, und nicht das richtige gefunden unter Qt 4.2.2. Hier mal mein Quelltext, so stellt er schonmal ein Rahmenloses Fenster mit Eintrag in der Taskleiste dar. Und alle weiteren Parameter, wollen Ihm jetzt wieder einen Rahmen aufdrücken, mir fehlt aber nur noch das Menü! Jemand eine Idee?

Code: Alles auswählen

  QWidget *widget = new QWidget;
  widget -> setWindowFlags( Qt::Window | Qt::FramelessWindowHint );
  widget -> resize( QSize( 640, 480 ) );
  widget -> show();
dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

Beitrag von dhcase »

versuchs mal hiermit

Code: Alles auswählen

widget -> setWindowFlags( Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint );
evtl. kannst du auch das Qt::Window weglassen, müsste ich jetzt aber testen...
dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

Beitrag von dhcase »

gibts dafuer jetzt eine loesung? unter 4.1.x hat das funktioniert und unter 4.2.x geht es nicht mehr... jedes weitere flag neben Qt::FramelessWndowHint erstellt wieder einen rahmen...
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Genau das ist nämlich der Punkt.
dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

Beitrag von dhcase »

dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

Beitrag von dhcase »

das ging schnell
Qt Tasktracker hat geschrieben:Description:
In Qt 4.2 adding another flag together with Qt::FramelessWindowHint brings back the frame around the window. This used to work in Qt 4.1.

Resolution note :
It makes sense to combine Qt::FramelessWindowHint and Qt::WindowSystemMenuHint on Windows where the context menu is also visible on the task bar. Not allowing this combination was a regression against 4.1.
Setting other hints such as MinMaxButtonHint or ContextHelpButtonHint will still result in the Qt::FramelessWindowHint being ignored since the frame is required to support these features.

History:
2007-03-19 15:02 - Entry created: Task status changed to 'Open', Resolution set to 'Pending', Version found set to '4.2.3', Version for fix set to 'Not scheduled', Priority changed to 'No Priority'
2007-03-20 09:10 - Priority changed to '1 - Highest'
2007-03-20 09:10 - Version for fix set to '4.3.0 (Next Minor Release)'
2007-03-21 18:13 - Resolution set to 'Fixed'
2007-03-21 18:13 - Task status changed to 'Closed'
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Die sind immer so schnell...
Antworten