Threads und GTK?
-
Tach,
ich habe eine GUI mit Glade (GTK) in Linux erstellt. Darin wird mit dem Drücken auf einen Button ein Thread erstellt und gestartet. Im Kontext dieses Threads soll ein GtkTextView-Feld Daten ausgeben. Das ganze hat eine relativ hohe Geschwindigkeit.. alle 100ms muss das GtkTextView-Feld neu gezeichnet werden. Bei mir ist das leider nicht der Fall. Es wird eigentlich nur dann aktualisiert, wenn der Thread beendet ist, oder ich ständig mit der Maus über das GtkTextView-Feld fahre. Das ist aber nicht sehr benutzerfreundlich. Außerdem erscheint dann ab und zu auf der Console die Ausgabe:
(projekt1:4311): Gtk_CRITICAL **: gtk_text_layout_real_invalidate: assertion 'layout->wrap_loop_count == 0' failed
Kann damit jemand was anfangen?
Geht das überhaupt mit der genannten Geschwindigkeit? Wenn Codeschnipsel benötigt werden, kann ich auch gerne welchen posten...Danke Euch!
Gruß
-
Bin auch erst neu mit GTK und C am programmieren.
Ich meine die Aktualisierung ist möglich mit dem Befehl
while (gtk_events_pending())gtk_main_iteration(); //GUI zeichnen (aktualisieren)
welchen du halt im Thread ausführen must.
Bei mir werden damit nun die Labels akualisiert.Bin dafür gerade auf der Suche, wie ich einen Thread starten kann.
Bis jetzt habe ich einfach eine Endlosschleife zum auslesen von FIFOS im main, aber dadurch stockt die Maus immer, sodass ich eine andere Lösung suchen muss.
-
Vielleicht hilf dier auch diese FAQ: http://www.gtk.org/faq/#AEN492