Выберите переключатель во всех строках, нажав кнопку GTK + Python, PyGObject - PullRequest
0 голосов
/ 22 января 2019

У меня есть форма с двумя коробками. Верхний ящик и нижний ящик. В верхнем поле у ​​меня две кнопки. Одна кнопка - Добавить строку, а кнопка - Выбрать радиокнопку А во всех строках списка.

В нижнем окне у меня есть список с несколькими строками. Все ряды одинаковы. В каждом ряду есть две кнопки-переключателя A и B. При каждом нажатии кнопки «Выбрать радио» должна быть выбрана радиокнопка «А» во всех строках.

Как мне это сделать?

Я не хочу показывать свой код здесь из-за проблем с авторским правом. но я считаю, что должен быть какой-то метод, заявляющий:

def on_button_click(self, button):
   self.Listbox.Row_all.Radio_button_A.checked()

Я ценю любую помощь

UPDATE: Это часть моего кода.

        # Adding new row to the list

    self.row = Gtk.ListBoxRow()
    self.row.set_border_width(5)

    downBox_main = Gtk.HBox()
    downBox_main.set_halign(Gtk.Align.CENTER)

    videoIcon = Gio.ThemedIcon(name="audio-x-generic")
    videoImage = Gtk.Image.new_from_gicon(videoIcon, Gtk.IconSize.DIALOG)

    vbox_link_and_butons = Gtk.VBox()
    vbox_link_and_butons.set_border_width(5)

    link_entry = Gtk.Entry()
    link_entry.set_placeholder_text("Paste the video link here")

    quality_hbox = Gtk.HBox()

    btnsQuality = [("4320p"), ("2160p"), ("1440p"), ("1080p"), ("720p"), ("480p")]
    for buttonNames in btnsQuality:
        btn = Gtk.ToggleButton()
        btn.set_label(buttonNames)
        quality_hbox.pack_start(btn, False, False, 2)

    radiobtn_box = Gtk.VBox()
    radiobtn_box.set_valign(Gtk.Align.CENTER)

    rbVideo = Gtk.RadioButton.new_with_label_from_widget(None, "Video")
    rbAudio = Gtk.RadioButton.new_from_widget(rbVideo)
    rbAudio.set_label("Audio")

    btnDownload = Gtk.Button()
    download_icon = Gio.ThemedIcon(name="down")
    image = Gtk.Image.new_from_gicon(download_icon, Gtk.IconSize.BUTTON)
    btnDownload.add(image)

    downBox_main.pack_start(videoImage, False, False, 0)
    vbox_link_and_butons.pack_start(link_entry, True, True, 0)
    vbox_link_and_butons.pack_start(quality_hbox, True, True, 3)
    radiobtn_box.pack_start(rbVideo, False, True, 0)
    radiobtn_box.pack_start(rbAudio, False, True, 0)
    downBox_main.pack_start(vbox_link_and_butons, True, False, 8)
    downBox_main.pack_start(radiobtn_box, True, True, 0)
    downBox_main.pack_start(btnDownload, True, True, 3)
    self.row.add(downBox_main)
    self.downBox.add(self.row)
    self.downBox.show_all()

И я пытаюсь связаться с этими переключателями в каждом ряду. Есть много строк с одинаковой структурой.

1 Ответ

0 голосов
/ 22 января 2019

Вы должны переключаться между кнопками и вызывать проверенный метод для каждой кнопки.

...