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
Probleme mit meinem Layout
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?
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
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
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 (25.12 KiB) 1546 mal betrachtet