[gelöst] FramelessWindowHint

Alles rund um die Programmierung mit Qt
Antworten
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

[gelöst] FramelessWindowHint

Beitrag von Sym »

Hallo,

ich erbe von einem QWidget. Im Konstruktor rufe ich unter anderem setGeometry(...) und setWindowFlags(Qt::FramelessWindowHint).

Leider ist nach dem FramelessWindowHint die Position falsch. Lasse ich die Zeile weg, besitzt das Widget zwar wieder einen Rahmen, ist allerdings an der richtigen Stelle.

Ich nutze MSVC2005 und Qt4.1.3.

Hat jemand einen Tip?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Hast du schonmal versucht die Reihenfolge der Aufrufe zu ändern?
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Beitrag von Sym »

FlorianBecker hat geschrieben:Hast du schonmal versucht die Reihenfolge der Aufrufe zu ändern?
Vielen Dank, daran lag es. Allerdings ist mir der Grund nicht klar.
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Also ich würde jetzt einmal folgendes behaupten:
Mit setGeometry wird die Position unter Berücksichtigung der Fensterdekoration gesetzt. Bei 0,0 sitzt der Anfang der Titelleite also auf 0,0 und danach entfernst du die Titelleiste.

Wenn du nun zuerst die Titelleiste entfernst, wird diese nicht mehr berücksichtigt und mit dem Widget auf 0,0 gesetzt.

Erklärt das dein Problem?
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Beitrag von Sym »

Ja, genau das habe ich mir gedacht. Deshalb habe ich erst die Geometrie gesetzt und dann das Fenster entfernt.

Allerdings funktioniert es genau anders herum. ;)

Naja, es klappt. Trotzdem wurmt es mich immer, wenn ich den Grund nicht nachvollziehen kann.
Antworten