AttributeError: 'MyWindow' object has no attribute 'on_name_combo_changed'
AttributeError: 'MyWindow' object has no attribute 'on_name_combo_changed'
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Grid example")
grid = Gtk.Grid()
#combobox
devices_list = Gtk.ListStore(int, str)
devices_list.append([1, "Device 1"])
devices_list.append([2, "Device 2"])
name_combo = Gtk.ComboBox.new_with_model_and_entry(devices_list)
*name_combo.connect("changed", self.on_name_combo_changed)*
name_combo.set_entry_text_column(1)
grid.attach(name_combo, 5, 0, 2, 1)
大家好,我是 python 的新手,但我一直被这个错误困扰。我已经按照教程和文档进行操作,但我似乎无法弄清楚这一点。我不明白为什么它说它没有属性,即使我在 'self.'
之后提到它
您必须在 class 中创建方法 on_name_combo_changed(self, widget)
。
from gi.repository import Gtk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Grid example")
self.connect("delete-event", Gtk.main_quit)
grid = Gtk.Grid()
self.add(grid)
#combobox
devices_list = Gtk.ListStore(int, str)
devices_list.append([1, "Device 1"])
devices_list.append([2, "Device 2"])
name_combo = Gtk.ComboBox.new_with_model_and_entry(devices_list)
name_combo.connect("changed", self.on_name_combo_changed)
name_combo.set_entry_text_column(1)
grid.attach(name_combo, 5, 0, 2, 1)
self.show_all()
def on_name_combo_changed(self, widget):
print('ComboBox:', widget)
app = MyWindow()
Gtk.main()
Python GTK+ 3 教程:13. ComboBox
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Grid example")
grid = Gtk.Grid()
#combobox
devices_list = Gtk.ListStore(int, str)
devices_list.append([1, "Device 1"])
devices_list.append([2, "Device 2"])
name_combo = Gtk.ComboBox.new_with_model_and_entry(devices_list)
*name_combo.connect("changed", self.on_name_combo_changed)*
name_combo.set_entry_text_column(1)
grid.attach(name_combo, 5, 0, 2, 1)
大家好,我是 python 的新手,但我一直被这个错误困扰。我已经按照教程和文档进行操作,但我似乎无法弄清楚这一点。我不明白为什么它说它没有属性,即使我在 'self.'
之后提到它您必须在 class 中创建方法 on_name_combo_changed(self, widget)
。
from gi.repository import Gtk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Grid example")
self.connect("delete-event", Gtk.main_quit)
grid = Gtk.Grid()
self.add(grid)
#combobox
devices_list = Gtk.ListStore(int, str)
devices_list.append([1, "Device 1"])
devices_list.append([2, "Device 2"])
name_combo = Gtk.ComboBox.new_with_model_and_entry(devices_list)
name_combo.connect("changed", self.on_name_combo_changed)
name_combo.set_entry_text_column(1)
grid.attach(name_combo, 5, 0, 2, 1)
self.show_all()
def on_name_combo_changed(self, widget):
print('ComboBox:', widget)
app = MyWindow()
Gtk.main()
Python GTK+ 3 教程:13. ComboBox