Initiale Größe von DockAreas

Verschiedenes zu Qt
Antworten
N¤X
Beiträge: 77
Registriert: 21. September 2009 12:24

Initiale Größe von DockAreas

Beitrag von N¤X »

Hi,
ich habe ein QMainWindow mit einem QDockWidget in der linken DockArea. Dieses DockWidget soll eigentlich schön schmal sein, nimmt aber automatisch ein Drittel meines ganzen MainWindows ein, was äußerst unästhetisch ist. Wenn ich das DockWidget ausdocke, die Größe ändere und es wieder eindocke nimmt es wieder diese breite Größe an, also scheint das Problem die Größe der DockArea zu sein.
OK, man kann die DockArea manuell kleiner ziehen, aber die anfängliche Größe muss man doch auch irgendwie schon im Code einstellen können, damit die Area vom Programmstart an die gewünschte Größe hat, oder nicht?
Ich habe dazu leider nichts in der Doku gefunden, und Google findet mir auch nur Leute die das selbe Problem haben, aber keine Lösung :/
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

QDockWidget.setFixedWidth(int); ?
Qt 2009.05
Entw.-umgebung Qt-Creator
N¤X
Beiträge: 77
Registriert: 21. September 2009 12:24

Beitrag von N¤X »

Naja, das wäre dann wohl die Holzhammer Methode.
Ich will halt eigentlich schon, dass mein DockWidget ne variable Breite hat, aber danke dass wenigstens mal einer was schreibt ^^
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

Heyho,

ja, so wie es aussieht ist hier zurzeit ziemlich wenig los :/

kannst ja diese zwei Funktionen benutzten:

DockWidget->setMaximumWidth(int maxw);
DockWidget->setMinimumWidth(int minw);
Qt 2009.05
Entw.-umgebung Qt-Creator
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

hol dir die breite, berechne dir 10% und setz die neue breite!
N¤X
Beiträge: 77
Registriert: 21. September 2009 12:24

Beitrag von N¤X »

Wow, gleich zwei Tipps ^^
Also die maximumWidth auf die gewünschte Breite setzen tut ja schon, aber dann ist halt auch wieder das Problem, dass der User es nicht mehr verbreitern kann :/
Und die Breite von nem gedockten DockWidget setzen (mit resize(...)) geht nicht, solange es gedockt ist nimmts einfach nix dergleichen an sondern richtet sich an die Größenangaben der DockArea. Da die aber kein Objekt ist kann ich der auch keine Breite zuweisen Oo
Ich hab jetzt auch mal versucht die sizeHint() Funktion vom Widget im DockWidget zu überladen so dass die die minimumSize zurück gibt, aber das hat auch keine Auswirkungen -_-
Antworten