[英]Select a radio button in all rows from a button click 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()
我尝试到达每一行中的那些单选按钮。 有许多具有相同结构的行。
您必须遍历按钮并调用每个按钮的选中方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.