gtkTable: Zeile einfärben

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
Lupurus
User
Beiträge: 5
Registriert: Montag 1. Juni 2009, 18:47

Hallo,

in meinem derzeitigen Programm muss der User eine Reihe von Schritten abarbeiten. Die erforderlichen Widgets habe ich in eine Table gepackt. Nun kam mir der Gedanke - um hervorzuheben, wo man sich gerade befindet - jeweils eine Zeile in der Table farblich zu hinterlegen.

Jetzt meine Frage: Ist es überhaupt möglich, eine komplette Zeile einzufärben, ohne dass die Widgets darin auch bemalt werden? Wenn ja, wie?

Schöne Grüße,
Lupurus
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Ich habe das jetzt schon länger nicht mehr gemacht, aber google hat das hier empfohlen: http://faq.pygtk.org/index.py?req=edit& ... 13.031.htp

Vielleicht hilft es ja ;)

Daniel
Lupurus
User
Beiträge: 5
Registriert: Montag 1. Juni 2009, 18:47

Ich hab doch kein Treeview, sondern eine Table, das ist was anderes ;) Wüsste nicht, wie man das Code-Bsp. übertragen könnte, aber trotzdem danke!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wenn du ein Minimalbeispiel bereitstellst, findet sich vielleicht jemand der da mal reinschaut. So habe ich persönlich recht wenig Lust mir ein ganzes Programm selbst zusammenzubauen um festzustellen ob und wie es geht und das geht anderen sicher ähnlich.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

entschuldige, irgendwie... war ich in Gedanken.

Ich kann mir nicht vorstellen, dass du eine Tabelle auf diese Art einfärben kannst. Du kannst dich ja mal von hier durch die Widgets arbeiten, von denen gtk.Tables abgeleitet werden - aber ich glaube eher nicht.

Oh, eine sehr hässliche Idee hätte ich doch: Man könnte das Widget aus der Tabelle lösen, in ein Frame packen, diesen einfärben und in die Tabelle packen. Damit hättest du einen entsprechenden Effekt - allerdings sehr teuer und ibäh ;)

Alternativ könnte man auch mit einem gtk.Layout arbeiten. Oder eine zusätzliche Spalte in der Tabelle (als erste Spalte), in der du jeweils passend einen Pfeil einblendest, wenn die entsprechende Zeile bearbeitet werden soll - das wäre wahrscheinlich die beste Lösung.
Lupurus
User
Beiträge: 5
Registriert: Montag 1. Juni 2009, 18:47

Hallo,

danke für die schnellen Antworten.
Ich hatte hier im Forum noch ein Bsp. gefunden, um einen Button einzufärben. Damit habe ich es zunächst versucht und musste feststellen, dass es nicht viel gebracht werden, da die in der Table liegenden Widgets nur eine seltsame farbige Umrandung bekamen, weil sie nicht wirklich "durchsichtig" waren.

Inzwischen, da mir dieses Feature nicht allzuwichtig ist, habe ich das Problem dadurch gelöst, dass ich die Widgets verstecke und dann Stück für Stück wieder anzeigen lasse.

Trotzdem dankeschön
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Statt die Widgets kannst zu verstecken könntest du sie auch deaktivieren mit set_sensitive, vllt wäre das auch noch eine Option für dich in diesem Fall.
Antworten