Всякий раз, когда я получаю значения из выпадающего списка / ввода, я всегда получаю первое значение / возвращает ноль.
Кажется, я не могу найти обходной путь. Я думаю, что проблема заключается в использовании фиксированного контейнера? Единственное решение, которое я могу придумать, - это заменить его сеткой, но это означает, что мне придется с самого начала переделывать весь код.
создание фиксированного контейнера
class MainWindow(Gtk.Window):
def __init__(self): #constructor
Gtk.Window.__init__(self, title="dawadaw")
self.set_size_request(900, 700)
container = Gtk.Fixed()
self.add(container)
# Stack
main_area = Gtk.Stack()
#stackwindow1
sw1 = Gtk.Fixed()
Combobox и кнопка ввода
list = Gtk.ComboBoxText()
list.append_text("string1")
list.append_text("string2")
list.append_text("string3")
list.set_active(0)
sw1.put(list, 180, 167)
Entry1 = Gtk.Entry()
Entry1.set_width_chars(10)
sw1.put(Entry1, 180, 297)
кнопка для извлечения данных
button = Gtk.Button(label="retrieve values")
button.connect("clicked", self.button_clicked,
Entry1.get_text(), sw1.get_active_text())
sw1.put(button, 370, 600)
main_area.add_titled(sw1, "Stack", "stack1")
Button_Clicked funtcion
def button_clicked(self, button, *data):
print(data)
Я хочу напечатать выбранное значение комбинированного списка и значение, которое я ввел в поле ввода. Однако выпадающий список возвращает только строку1, независимо от того, что я выбираю, а виджет ввода ничего не возвращает.
Я застрял и думаю, что проблема заключается в том, чтобы я использовал фиксированный контейнер. Но я не хочу переделывать все, если мне не нужно. Помощь очень ценится!