さて、私は GTKとPython の初心者ですが、必要な情報を掘り下げることができませんでした。基本的に私が持っているのはラジオボタンのリストであり、どれがチェックされているかに基づいて、ボタンを別の機能に接続する必要があります。すべてのラジオ ボタンを作成してからsget_active()
、各ボタンをチェックする嫌な if/else ブロックを作成してみました。問題は、同じボタンが毎回 true を返すことです。何か案は?
使用中のコードは次のとおりです。
#Radio Buttons Center
self.updatePostRadioVBox = gtk.VBox(False, 0)
self.updatePageRadio = gtk.RadioButton(None, "Updating Page")
self.updatePostRadio = gtk.RadioButton(self.updatePageRadio, "Updating Blog Post")
self.pageRadio = gtk.RadioButton(self.updatePageRadio, "New Page")
self.blogRadio = gtk.RadioButton(self.updatePageRadio, "New Blog Post")
self.addSpaceRadio = gtk.RadioButton(self.updatePageRadio, "Add New Space")
self.removePageRadio = gtk.RadioButton(self.updatePageRadio, "Remove Page")
self.removePostRadio = gtk.RadioButton(self.updatePageRadio, "Remove Blog Post")
self.removeSpaceRadio = gtk.RadioButton(self.updatePageRadio, "Remove Space")
#Now the buttons to direct us from here
self.returnMainMenuButton = gtk.Button(" Main Menu ")
self.returnMainMenuButton.connect("clicked", self.transToMain)
self.contentManageHBoxBottom.pack_start(self.returnMainMenuButton, False, False, 30)
self.contentProceedButton = gtk.Button(" Proceed ")
self.contentManageHBoxBottom.pack_end(self.contentProceedButton, False, False, 30)
if self.updatePageRadio.get_active():
self.contentProceedButton.connect("clicked", self.updatePage)
elif self.updatePostRadio.get_active():
self.contentProceedButton.connect("clicked", self.updatePost)
elif self.pageRadio.get_active():
self.contentProceedButton.connect("clicked", self.newPage)
elif self.blogRadio.get_active():
self.contentProceedButton.connect("clicked", self.newBlogPost)
elif self.addSpaceRadio.get_active():
self.contentProceedButton.connect("clicked", self.newSpace)
elif self.removePageRadio.get_active():
self.contentProceedButton.connect("clicked", self.removePage)
elif self.removePostRadio.get_active():
self.contentProceedButton.connect("clicked", self.removeBlogPost)
elif self.removeSpaceRadio.get_active():
self.contentProceedButton.connect("clicked", self.removeSpace)