私のコードはいくつかのファイルに広がっていますが、どのように子ファイルをメインファイルとやりとりさせるか分かりません。多くのファイルのpython GTK +アクション
例fichier1:
#!/usr/bin/env python3
# coding: utf-8
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from TestMenu import Menu
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.grid = Gtk.Grid()
self.add(self.grid)
self.label = Gtk.Label("An example of a Label widget.")
self.menuBar = Menu()
self.grid.attach(self.menuBar, 0, 0, 1, 1)
self.grid.attach(self.label, 1, 0, 1, 1)
def onClick(self, button):
self.label.set_label('Test OK')
win = MainWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
Fichier2:この例では、私は、ラベルの内容を変更しているだろう
<ui>
<menubar name='MenuBar'>
<menu action='ActionMenu'>
<menuitem action='AddGame' />
</menu>
</menubar>
</ui>
:ここ
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class Menu(Gtk.Grid):
menuUi= "/home/vianney/programmes/Menu.ui"
def __init__(self):
Gtk.Grid.__init__(self)
action_group = Gtk.ActionGroup("my_actions")
self.AddActionMenu(action_group)
uimanager = self.create_ui_manager()
uimanager.insert_action_group(action_group)
menubar = uimanager.get_widget("/MenuBar")
self.attach(menubar, 0, 0, 1, 1)
def AddActionMenu(self, action_group):
action_group.add_actions([
("ActionMenu", None, "Edition"),
("AddGame", None, "Add Game", None, None, self.AddGame)
])
def AddGame(self, widget):
self.label.set_label('Test OK')
def create_ui_manager(self):
uimanager = Gtk.UIManager()
uimanager.add_ui_from_file(self.menuUi)
return uimanager
は、メニューファイルでありますファイル1はファイル2メニューに属します
大変ありがとうございます。
私は心から –
ファイル]メニュー を追加GtkUIManager'は '-された年齢のため非推奨。 INSTEAD 'GtkBuilder'を使用してください。 – liberforce
そして、あなたが何をしようとして理解することは困難であるため、あなたの英語を改善し... – liberforce