6 Stimmen

Wie kann man die Breite eines Fensterrahmens ermitteln, bevor man ein Fenster erstellt?

EDIT: Diese Anwendung läuft auf Windows, Mac und verschiedenen Linux-Distributionen. Ich weiß, dass Linux Probleme damit hat, aber was ist mit Windows? Mac?

Gibt es eine Möglichkeit, die Breite des Rahmens für ein normales Fenster zu ermitteln, BEVOR ein Fenster angezeigt wird? Nachdem ich ein Fenster angezeigt habe, kann ich die size() del frameSize() aber das funktioniert erst, nachdem das Fenster angezeigt wurde.

Ich habe mir angesehen QApplication::style()->pixelMetric() und ich kann die Höhe der Titelleiste mit

QApplication::style()->pixelMetric(QStyle::PM_TitleBarHeight)

aber ich sehe keine Optionen, um die Breite des restlichen Rahmens um das Fenster herum zu bestimmen.

Die einzige Lösung, die ich bis jetzt gefunden habe, ist:

  • die Deckkraft des Fensters auf 0 setzen (damit der Benutzer es nicht sieht),
  • das Fenster anzeigen
  • dann subtrahieren size() von frameSize()

Gibt es einen besseren Weg?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X