GTK+ обновление окна

Модератор: Модераторы разделов

Serik
Сообщения: 149
ОС: SuSE Linux

GTK+ обновление окна

Сообщение Serik »

Добрый день !

Как заставить GTK+ перерисовать окно ?
Спасибо сказали:
Аватара пользователя
sergeyvp
Сообщения: 807
ОС: ubuntu

Re: GTK+ обновление окна

Сообщение sergeyvp »

Serik писал(а):
17.10.2007 10:43
Добрый день !

Как заставить GTK+ перерисовать окно ?

Например так
while (gtk_events_pending()) gtk_main_iteration_do(FALSE);

GTK+ в примерах
Спасибо сказали:
Serik
Сообщения: 149
ОС: SuSE Linux

Re: GTK+ обновление окна

Сообщение Serik »

Спасибо !
Помогло.

Отдельное большое спасибо за переводы !
Спасибо сказали:
Аватара пользователя
sergeyvp
Сообщения: 807
ОС: ubuntu

Re: GTK+ обновление окна

Сообщение sergeyvp »

Serik писал(а):
17.10.2007 11:53
Отдельное большое спасибо за переводы !

Пожалуйста :D
Спасибо сказали:
Serik
Сообщения: 149
ОС: SuSE Linux

Re: GTK+ обновление окна

Сообщение Serik »

Работает, но ругается

Код:

GLib-WARNING **: g_main_context_prepare(): main loop already active in another thread
Наверно плохая идея, вызывать функции GTK+ из разных потоков...
Правильно будет посылать сигналы ?
Спасибо сказали:
Аватара пользователя
sergeyvp
Сообщения: 807
ОС: ubuntu

Re: GTK+ обновление окна

Сообщение sergeyvp »

Serik писал(а):
17.10.2007 13:36
Наверно плохая идея, вызывать функции GTK+ из разных потоков...
Правильно будет посылать сигналы ?

С многопоточностью в GTK+ есть определённые проблемы, я пока с таким не сталкивался.
Спасибо сказали:
Аватара пользователя
halturin
Сообщения: 167
ОС: Linux

Re: GTK+ обновление окна

Сообщение halturin »

если из потока нужно например изменить сенситив кнопки, то могут возникнуть визуальные артефакты... как этого избегать в документации к gtk описано, ключевые слова для поиска:
gdk_threads_init
g_thread_init
gdk_threads_enter
gdk_threads_leave
gdk_flush
Спасибо сказали: