LINUX.ORG.RU

перерисовка label в gtk+2.0


0

0

Ну как? Я уж и сигналы пытался отправлять, и события... не перерисовывается, хоть тресни. В туториале по gtk 1.2 написано, что решение всех проблем простое:

while (gtk_events_pending()) gtk_main_iteration();

В таком виде прога просто виснет. Тогда пишу:

if (gtk_events_pending()); gtk_main_iteration();

И действительно, перерисовывает, но работает программа в лучшем случае секунду, затем выдаёт:

(main_dialog:3719): GLib-WARNING **: g_main_context_prepare(): main loop already active in another thread Xlib: unexpected async reply (sequence 0x720)!

GLib-ERROR **: file gmain.c: line 1897 (g_main_dispatch): assertion failed: (source) aborting...

И сваливается. Что скажете?

anonymous

Че-то блин не понятно вопрос задал. Тебе чего нужно перерисовать, после чего? Цикл событий у тебя хоть работает?

welkam ★★
()
Ответ на: комментарий от welkam

Я устанавливаю начальный текст в GtkLabel, затем запускаю поток, который слушает порт и меняет текст меток. В результате отрисовывается новый текст только после того, как я, например, щёлкну мышкой по диалогу, нажму клавишу и т.д., то есть по приходу каких-нибудь событий. Если не трогать мышь и клаву, текст не отрисовывается.

anonymous
()
Ответ на: комментарий от ananas

Ananas, я Вам адски благодарен! Действительно, по этой ссылке лежит простой пример, в котором расставлены все точки над i в этом вопросе. Большое спасибо!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.