Окно не отображается в интерпретаторе python в GTK3 без Gtk.main ()

В GTK2 мне понравилось создавать gui в интерпретаторе (ipython или plain python) «на лету» и видеть изменения в реальном времени следующим образом:

>>> import gtk >>> win = gtk.Window() >>> win.connect('delete-event', gtk.main_quit) 10L >>> win.show_all() 

Это приведет к отображению окна, в которое я мог бы добавлять объекты.

Я перехожу к Gtk3 отчасти потому, что это будущее и отчасти потому, что я иногда использую Glade, который теперь является только Gtk3. То же самое с GTK3 НЕ показывает окно:

 >>> from gi.repository import Gtk >>> win = Gtk.Window() >>> win.connect('delete-event', Gtk.main_quit) 13L >>> win.show_all() 

Увы, после этой последней строки нет окна. Он не будет отображаться до тех пор, пока:

 >>> Gtk.main() 

Я даже попробовал:

 >>> win.show_now() 

Который ничего не сделал.

Любые идеи, как строить в реальном времени в GTK3?

Благодаря,

Narnie

One Solution collect form web for “Окно не отображается в интерпретаторе python в GTK3 без Gtk.main ()”

Я попытался обработать ожидающие события следующие однострочные:

 >>> while Gtk.events_pending(): Gtk.main_iteration() 

и это похоже на то же поведение. Это не очень удобно, но вы все равно можете работать в интерпретаторе.

Кроме того, если вы разрабатываете приложение Gtk, pdb.set_trace все равно будет работать и позволит вам отлаживать обратные вызовы, если это то, что вы ищете.

  • Как получить XWindow ID в GTK3?
  • Python GTK3 Treeview Move Selection вверх или вниз
  • Python GTK + 3 Безопасная Threading
  • Python PyGOobject treeview: подтвердить редактирование после перемещения между ячейками с помощью клавиши Tab
  • python и буфер обмена gtk3 onChange
  • Gtk + 3 Gdk Pixbuf.new_from_data дает ошибку «Ошибка сегментации (сбрасывание ядра)» 139
  • Как написать пользовательский Gtk.CellRenderer в python и GTK 3?
  • Правильный способ создания приложений Gtk3 в Python
  • Python - лучший язык программирования в мире.