Форум сайта python.su
Добрый день
Интересует довольно базовый вопрос
есть окошко с ComboBoxText и Switch, в первом обычный текстовый список значений, второй живет сам по себе.
Хотелось бы привязать событие измениения выбора в списке - на состояние переключателя.
Т.е. ткнул на определенную строку в комбобоксе, чекнул откуда нибудь bool и скормил в switcher.set_active()
код класса
class ComboBoxWindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="ComboBox Example") self.set_border_width(10) vbox = Gtk.Box(spacing=6) ifaces_combo = Gtk.ComboBoxText() ifaces_combo.set_entry_text_column(0) ifaces_combo.connect("changed", self.on_ifaces_combo_changed, self.on_ifaces_combo_changed) for iface in ifaces: ifaces_combo.append_text(iface) switch = Gtk.Switch() switch.connect("notify::active", self.on_switch_activated) switch.set_active(False) vbox.pack_start(ifaces_combo, False, False, 0) vbox.pack_start(switch, True, True, 0) self.add(vbox) def on_ifaces_combo_changed(self, combo): sel_iface = combo.get_active_text() if sel_iface != None: print("Selected interface =%s" % sel_iface) def on_switch_activated(self, switch, gparam): if switch.get_active(): state = "on" else: state = "off" print("Switch was turned", state) win = ComboBoxWindow() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main()
Офлайн