PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Qt + Grösse des Hauptfensters



smog_at
15-09-2003, 13:50
Hey @all,

Ich hätte da eine Frage zu Qt bezüglich der Grösse des Hauptfensters, und zwar sieht das Hauptprogramm beispielsweise folgendermassen aus:

.
.
.
MyApp* mywidget = new MyApp();
mywidget->setGeometry(350,300,400,400);
.
.
.

Nun zu meiner Frage, ist es mögich die Werte die per setGeometry übergeben wurden in der Klasse MyApp irgendwie auszulesen, etwas mit this->height()?

Mit dem Befehl MyApp::height(), MyApp::width, usw. bekomme ich zwar irgendwelche Grössen, jedoch wenn ich mit setGeometry etwas ändere verändern sich die MyApp::height(), MyApp::width() Werte nicht.

Vielen Dank im Voraus
MfG Flex

axeljaeger
15-09-2003, 14:02
Du könntest mal QRect QWidget::frameGeometry () const probieren. Aber eigentlich sollte das schon so gehen, wie du gesagt hast. Aber mal ne andere Frage: (350,300,400,400) Was ist denn das für eine merkwürdige Geometrie?

smog_at
15-09-2003, 14:03
Wieso, was passt den nicht an (350,300,400,400); nicht?

Bin noch neu bezüglich Qt, könntest Du mich eventuell aufklären?

MfG Flex

axeljaeger
15-09-2003, 16:04
(350,300,400,400)

Das past schon, ich frag mich nur, für welche Art von Anwedung das sinnvoll sein soll, ein Fenster zu haben, wo der obere linke Eckpunkt bei (350,300) liegt, und das Fenster 400 Pixel breit und 400 Pixel hoch ist. Ich setze in der Main-Methode nie eine Größe. Ich lass das immer meinen Layoutmanager setzen. Für deinen Fall würde es sicher reichen, resize(400,400) aufzurufen, und dem Fenstermanager zu überlassen, wo er das Fenster hinmachen soll.

anda_skoa
15-09-2003, 18:36
Original geschrieben von axeljaeger
Du könntest mal QRect QWidget::frameGeometry () const probieren.

Der Gegenpart zu setGeometry ist geometry().
Ist in Qt parktisch fast immer so, dass die "get" Methode einfach der selbe Name nur ohne "set" ist.

Das liefert dann ein QRect, dessen width() bzw. height() dann deine Ausmaße zurückgeben.

width() und height() des Widgets sind die inneren Ausmaße, also ohne Rahmen, etc.

Wie axeljäger schon geschrieben hat, verwendet man in Qt meisten Layouts umd die Größen festzulegen.

Ciao,
_