Хорошо, во-первых, я не совсем уверен, как сформулировать мою проблему.Это может быть недостаток сна, или быть довольно новым для Python и GTK, или их комбинация.Чтобы помочь мне, я написал полный простой пример с помощью учебных пособий zetcode.com.
Проблема, как я могу сказать, заключается в пункте меню - без подменю -занимает два клика для активации.В отличие от пункта подменю, активирующегося одним кликом.Это слегка раздражает (и может запутать будущих пользователей), но не вызывает проблем с моим приложением.Однако я хотел бы решить эту проблему.
Мое настоящее приложение создается с помощью Ubuntu Quickly - но проблема существует при использовании gtkBuilder или direct-gtk.
Вот простой пример:
#!/usr/bin/python
import gtk
class MenuTest(gtk.Window):
def __init__(self):
super(MenuTest, self).__init__()
self.set_title("Menus, how do they work?!")
self.set_size_request(350, 200)
self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440))
self.set_position(gtk.WIN_POS_CENTER)
mb = gtk.MenuBar()
filemenu = gtk.Menu()
filem = gtk.MenuItem("Some Action")
filem.connect("activate", self.on_file_activate)
mb.append(filem)
vbox = gtk.VBox(False, 2)
vbox.pack_start(mb, False, False, 0)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
def on_file_activate(self, widget):
md = gtk.MessageDialog(self, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO, gtk.BUTTONS_CLOSE, "herp derp, took two clicks to show me")
md.run()
md.destroy()
MenuTest()
gtk.main()
Надеюсь, кто-то может помочь, но не может полностью запутать этого нуба одновременно.