[英]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.