Probleme mit meinem Layout

Alles rund um die Programmierung mit Qt
Antworten
soulsofpetro
Beiträge: 16
Registriert: 3. Dezember 2006 16:57

Probleme mit meinem Layout

Beitrag von soulsofpetro »

Hallo Leute,
ich bin relativer Neuling was Qt angeht.
Ich habe ein Problem, und ich hoffe dass mir jemand dabei helfen kann.

Ich will eine GUI erstellen, in welchen in der Mitte ein Textfeld steht. Dafür nehme ich ein QTextField.
Um dieses Textfeld sollen farbige Rechtecke liegen, welche aktiviert werden wenn man mit der Maus drüberfährt. Aktivieren wird sichtbar in dem ich color.light(int) benutze. Diese Rechtecke habe ich anfangs mit Labels erstellt, was ich aber nicht für eine gute Idee halte und somit habe ich sie wieder verworfen. Nun nehme ich QGraphicItems, bekomme sie aber aus irgendeinen Grund nicht sichtbar.
Wenn ich über die rechtecke gehe sollen jeweils bestimmte Buchstaben in das textfeld reingeschrieben werden. Ist das möglich?

Was mich auch etwas verwirrt. Muss ich eine "Grundebene" erstellen, um diese ganze Elemente in die GUI zu setzen?
Oder starte ich einfach QApplication und setze meine Elemente einfach da rein?

Ich hoffe ich habe euch nicht zu sehr verwirt und dass mir jemand einen Hilfreichen Tip geben kann.

THX
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ich würde ein QWidget erstellen,darin ein QGridLayout mit 3x3 Zellen erstellen und dabei Row 1 & 3 und Column 1 & 3 auf eine feste Größe setzen. In der Mitte kannst du dann dein Text-Widget plazieren. Außenrum plazierst du QWidget's bei denen du Mithilfe von eventFilter mouseEnter und mouseLeave-Event's abfängst und sie dann auswertest...

QGraphicsItems müssen in einer QGraphicsScene plaziert werden welche in einer QGraphicsView dargestellt werden kann.

Alles (un-)klar?
soulsofpetro
Beiträge: 16
Registriert: 3. Dezember 2006 16:57

Beitrag von soulsofpetro »

Hi upsala,
danke für deinen tip. ich werde das mal ausprobieren.
kann ich mit QWidgets auch polygone erstellen, oder nur rechtecke?
hänge ein grobes layout hier an um mich verständlicher zu machen.

Innerhalb der buchstaben ist ein textfeld. Wenn ich mit dem Coursor über einen buchstaben gehe, bekomme ich ein feedback indem er heller wird, das funktioniert mit dem graphsItem gut, weiß nicht wie das mit dem QWidget ist. wenn also ein buchstabe "aktiviert" ist, merke ich mir seinen zustand und wenn ich dann zum blauen rand gehe, wird der buchstabe in das textfeld reingeschrieben.

sollte der blaue rand auch ein QWidget sein?

Deswegen weiß ich nicht ob das mit dem GridLayout möglich ist.

Ich habe das alle schon mit Matlab implementiert, aber da stoße ich eben an grenzen, sobald es darum geht text auszugeben und formatieren. da ist matlab echt miserabel

THX
Dateianhänge
Ausschnitt.jpg
Ausschnitt.jpg (25.12 KiB) 1550 mal betrachtet
Antworten