Fenster Proportionen halten

Alles rund um die Programmierung mit Qt
Antworten
ChornHulio
Beiträge: 62
Registriert: 7. November 2008 11:02

Fenster Proportionen halten

Beitrag von ChornHulio »

Hallo zusammen,

man kann QSize mit einer Proportion skalieren

Beispiel für Skalierung von 16:5

Code: Alles auswählen

void MainWindow::resizeEvent(QResizeEvent *e)
{
  QSize size(160,40);
  size.scale(e->size().width(),e->size().height(),Qt::KeepAspectRatio);
  resize(size);
}
Jetzt besteht hier aber das Problem, dass das eine Endlosschleife ist. Wie kann ich das verhindern?

Danke für eure Antworten!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Warum führst du ein resize aus, wenn die Größe schon passt?
ChornHulio
Beiträge: 62
Registriert: 7. November 2008 11:02

Beitrag von ChornHulio »

Ich will, dass das Fenster seine Proportionen behält. Also in dem Beispiel, soll das Fenster immer ein Seitenverhältnis von 16 zu 5 haben.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wenn die Größe passt, passt doch auch das Seitenverhältnis. Also: Warum führst du ein resize aus, wenn die Größe schon passt und wunderst dich über eine Endlosschleife?
ChornHulio
Beiträge: 62
Registriert: 7. November 2008 11:02

Beitrag von ChornHulio »

Guten Morgen upsala,

ich glaub wir reden aneinander vorbei. Ich hätte es von Anfang an besser erklären sollen...

Ich will, dass der User das Fenster größer und kleiner ziehen kann, wie er will - aber eben nur mit einem bestimmten Seitenverhältnis.

Wie kann ich das realisieren?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

if (size!=e->size()) {
  resize(size);
}
Antworten