Seite 1 von 1

Scroll Bar und variable Widgetgröße

Verfasst: 28. November 2011 01:05
von TerraG
Hi,

hab zwei Fragen:

1.Könnte mir jemand sagen wie ich es einstelle, dass eingefügte Scrollbars funktionieren. Habe eine Scrollbar eingefügt, dann auf Signale und Slots gewechselt und die Scrollbar mit der "Seite" über die Methode/Funktion sliderpressed() verbunden. In der Vorschau funktioniert das ganze aber nicht.

2.Außerdem würde ich gerne wissen wie ich es einstelle, dass die Widgets sich beim Verkleinern des Fensters mit verkleinern (anpassen) und das ich den Fensterrahmen nicht über die Widgets ziehen kann, sodass diese verdeckt werden. Am linken Rand habe ich dazu horizontalle Spacer angebracht, nur an dem unteren und rechten Rand will mir das irgendwie nicht so gelingen, dass ich den Fensterrahmen von unten bzw. rechts NICHT mehr über die Widgets ziehen kann.

Gruß
TerraG

Re: Scroll Bar und variable Widgetgröße

Verfasst: 9. Dezember 2011 13:54
von jerry42
Hi,

vielleicht kommt die Antwort schon zu spät, aber trotzdem:

1) Nimmst Du aus der Widgetbox im Designer direkt die ScrollBar? Gibt es einen bestimmten Grund? Hast Du es schon mit einer normalen ScrollArea versucht? Ich weiß nicht genau was Dein Ziel ist, aber wenn Du da Widgets reinwirfst, erscheinen die ScrollBars bei Bedarf von allein

2) Du musst Layouts dafür nehmen, dann passen sich die einzelnen Elemente auch beim Vergrößern und verkleinern des Fensters mit an. Vielleicht fehlt dir das letzte Layout, dass du auf das Widget anwenden musst. Schwer zu sagen, ohne genau zu wissen wie Dein Layout aussehen soll.

Vielleicht einfach die ui Datei mit dem Problem mit anhängen, dann kann Dir sicher besser geholfen werden.

Viele Grüße
jerry42

Re: Scroll Bar und variable Widgetgröße

Verfasst: 17. Dezember 2011 02:44
von TerraG
Hi,

ich hoffe mir antwortet noch jemand. Ich dachte eigentlich es würde nix mehr kommen. Danke für die nette Antwort auf jeden Fall.

Folgendes: Ich hab links in der GUI ne Menge Line Edit WIdgets und Label WIdgets, rechts oben in der GUI ist ein Bild welches ich mit einem Label WIdget eingefügt habe, rechts unten sind PushButton WIdgets und an der rechten Seite ist eine vertikale Scrollbar. Hab nun die WIdgets großteils mit vertikalen und horizontalen Spacern fixiert/getrennt.
WIe gesagt: Wenn ich in die Vorschau gehe, lässt sich leider die ganze GUI einfach durch ziehen eines Randes so verkleinern, dass man nix mehr von ihr sieht. Daher möchte ich, dass das Verkleinern durch Ziehen des Randes nur bis zu einem gewissen "Grad" geht und das die Scroll Bar(s) funktionieren, sodass ich auch im verkleinerten Bild in dem man ja nicht mehr alles sieht einfach an alle Stellen scrollen kann. Habe daher ja auch versucht der Scrollbar eine Funktion zuzuordnen, was ja aber nicht funktzt.

Das mit den Layouts versteh ich nicht ganz. Spacer hab ich ja eingefügt, wobei ich keinen am oberen, unteren und linken Rand hinkriege. Diese Anordnungslayouts wie senkrecht, waagerecht, tabelarisch etc. bringen nur alles durcheinander.

Anhängen darf ich die GUI leider nicht - sagen wir mal Betriebsgeheimnis xD.

Zudem muss ich ja sagen, dass ich die Qt Designer Version 4.7.2 habe und mich frage, ob es nicht vielleicht besser wäre auf eine ältere umzusteigen?

Ich hoffe mir kann noch jemand weiterhelfen :).

Gruß
TerraG

Re: Scroll Bar und variable Widgetgröße

Verfasst: 17. Dezember 2011 11:37
von Herzogswalder
Ich würde mich an deiner Stelle erstmal mit dem Layout-Management von Qt vertraut machen: http://developer.qt.nokia.com/doc/qt-4.8/layout.html

Re: Scroll Bar und variable Widgetgröße

Verfasst: 17. Dezember 2011 21:49
von TerraG
So,

hab mir den Link durchgelesen und es bringt mir einfach garnichts! :roll:
Das einzige was ich dort jetzt noch rauslesen konnte, war das ich die Größe eines Widgets mit dem Stretchfaktor in Abhängigkeit zur Größe eines anderen Widgets einstellen kann.

Es kann doch nicht so schwer sein zu erklären wie man die Widgetgröße bis zu einem bestimmten Minimum flexibel zur Fenstergröße und wie man die Scrollbar nutzbar macht. Ich verstehe nicht ganz woran es liegt, dass man keine klare Antwort zu der gestellten Frage bekommt.

Also wenn hier irgendjemand mit Qt Designer umgehen kann, mir erklären kann wie ich das Gefragte umsetzen kann und dies sogar noch tun würde, würde mich das sehr freuen.

Re: Scroll Bar und variable Widgetgröße

Verfasst: 18. Dezember 2011 14:11
von jerry42
da mir die Layouts am Anfang auch Probleme bereit haben, hier mal ein schnelles Beispiel, welches zumindest meinem Verständnis nach in etwa Deiner Beschreibung enstprechen dürfte.
Das ist sicher nur eine von vielen Möglichkeiten, wie man das ganze realisieren kann. Aber zumindest hat es den von Dir gewünschten Effekt, dass das Bild, sollte das Fenster zu klein werden, anfängt sich scrollen zu lassen. Ich hoffe es hilft.

Ansonsten musst Du einfach mal etwas Zeit nehmen und mit den verschiedenen Parametern der Layouts und UI Elemente rumspielen, um damit etwas vertrauter zu werden.

Viele Grüße
jerry42

Re: Scroll Bar und variable Widgetgröße

Verfasst: 20. Dezember 2011 04:00
von TerraG
Hallo nochmals,

vielen dank für das schöne Beispiel, was mir auch schon weiter geholfen hat. Habe es jetzt so gemacht, dass ich eine Scroll Area genommen habe und alle anderen Widgets dort hinein gesetzt habe, danach habe ich analog zum Beispiel wie von mir gewünscht alle Widgets u.a. mit ein paar Spacern zueinander in mehreren Layouts ausgerichtet. Die Scroll Area habe ich genommen, weil bei mir ja alles scrollbar sein soll und nicht nur das Bild wie im Beispiel.

Was ich leider immer noch nicht verstehe ist:

Im Beispiel passen sich die Widgets der Fenstergröße an und die Scrollbar erscheint wenn das Bild Widget zu klein wird und das schon im Editiermodus.
Bei meiner GUI leider Fehlanzeige, es erscheint keine Scrollbar, obwohl ich eine Scroll Area gewählt habe und die Widgets verkleinern sich auch nicht mit, was ja auch unbedingt nötig ist.

Könntest Du mir daher noch verraten welche Einstellungen ich noch vornehmen muss das Scroll Area funktioniert und sich die Widgets mit verkleinern?

Viele Grüße auch
TerraG

Re: Scroll Bar und variable Widgetgröße

Verfasst: 20. Dezember 2011 16:33
von jerry42
kannst Du nicht ein minimales Beispiel hochladen, es ist schwer zu schätzen, was noch fehlt.

Aber nochmal zu den Layouts: Angenommen du hast ein leeres Widget im Designer. Jetzt fügst Du eine QScrollArea hinzu, und wirfst da ein weitere Widget hinein, z.B. ein Label. was jetzt noch fehlt, damit die ScrollArea auch richtig scrollt, ist ein Rechtsklick in die ScrollArea und ein tabellarisches Layout auswählen. Das bewirkt quasi, dass die ScrollArea ausgefüllt wird von ihrem Inhalt. Das gleiche nochmal für das übergeordnete Widget (Rechtsklick außerhalb der ScrollArea, Layout->tabellarisches...) bewirkt dann, dass die ScrollArea das übergeordnete Widet ausfüllt.

Schwer zu beschreiben, aber vielleicht ist es das was fehlt.

Re: Scroll Bar und variable Widgetgröße

Verfasst: 20. Dezember 2011 19:44
von TerraG
Super, danke! Du bist der Held des Tages :D. Das einzige was gefehlt hat, war der Rechtsklick und tabellarische Anordnung. Funktioniert jetzt einwandfrei. Damit hat sich dieses Thema erledigt. Du hast mir wirklich sehr weitergeholfen. DANKESEHR :mrgreen: .