Horizontales resizen klappt nicht?!

Alles rund um die Programmierung mit Qt
Antworten
slash-ex
Beiträge: 239
Registriert: 30. März 2005 21:40

Horizontales resizen klappt nicht?!

Beitrag von slash-ex »

ich verstehe eine Sache nicht ganz, wenn ich ein Fenster habe und darin ein Widget ist, was sich automatischin einem festen Verhältnis (zb 4:3) verhalten soll, warum klappt dann nur die obere Funktion und die untere gar nicht?

Code: Alles auswählen

	// Widget zu schmal -> Hoehe verkleinern.
	if(width()/height() < 0.99*tableRel)  //KLAPPT
		resize(width(),(int)(width() / tableRel));

	// Widget zu breit -> Breite verkleinern.
	if(width()/height() > 1.01*tableRel)  //NICHT
		resize((int)(height() * tableRel), height());
hmm, klappt doch, habe ich grade bemerkt, anscheinend aber sehr schlecht. ab einer gewissen sprunggröße leider nicht mehr.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

So ist das auch schlecht gelöst. Besser so: (ohne Gewähr)

Code: Alles auswählen

void Window::resizeEvent(QResizeEvent* e)
{
	int w = e->size().width();
	int h = e->size().height();
	if(w/h < 0.99*tableRel)
		h = w / tableRel;

	if(w/h > 1.01*tableRel)
		w = height * tableRel;

 	setGeometry(x(), y(), w, h);
}
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Antworten