首页 > 解决方案 > 从按钮中选择所有行中的单选按钮单击 GTK+ python, PyGObject

问题描述

我有一个带有两个盒子的表格。上盒和下盒。在上面的框中,我有两个按钮。在列表框中的所有行中,一个按钮是“添加行”,该按钮是“选择单选按钮 A”。

在下拉框中,我有一个包含多行的列表框。所有行都相似,每行有两个单选按钮 A 和 B。当您单击选择单选按钮时,应选择所有行上的 A 单选按钮。

我怎么做?

由于版权问题,我不想在这里显示我的代码。但我相信应该有一些方法说明:

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

我感谢任何帮助

更新:这是我的代码的一部分。

        # 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()

我尝试访问每一行中的那些单选按钮。有许多具有相同结构的行。

标签: pythongtkpygobject

解决方案


您必须遍历按钮并调用每个按钮的检查方法。


推荐阅读