我正在用tkinter(python3)編寫python代碼,但我遇到了一些問題。我有兩個類_MainScreen
和_RegisterScreen
(最後一個嵌套在_MainScreen
)。在_RegisterScreen
我實施了一個簡單的問題與tkinter.Radiobutton
(選擇你的性別:男性,女性)。這個想法是捕獲用戶選擇,但是當我運行腳本時,分配給該變量的值爲空(""
)。但是,如果我單獨運行類_RegisterScreen
,它將起作用。我希望你能告訴我我的錯誤在哪裏。提前致謝。python tkinter.Radiobutton無法獲得值
這裏是我的代碼抽象(32線)(250線):
import tkinter
class _MainScreen(tkinter.Frame):
def __init__(self):
self.root = tkinter.Tk()
self.new_account(self.root)
self.root.mainloop()
def new_account(self, frame):
tkinter.Button(frame, text="Create new account",
command=self.create_new_account).pack(anchor="center", pady=(0,15))
def create_new_account(self):
_RegisterScreen()
class _RegisterScreen(tkinter.Frame):
def __init__(self):
self.root = tkinter.Tk()
tkinter.Label(self.root, text="Sex").grid(row=1, padx=(0,10), sticky="w")
self.sex_option = tkinter.StringVar()
tkinter.Radiobutton(self.root, text="Male", variable=self.sex_option,
value="Male", command=self._selected).grid(row=1, column=1)
tkinter.Radiobutton(self.root, text="Female", variable=self.sex_option,
value="Female", command=self._selected).grid(row=1, column=2)
tkinter.Button(self.root, text="Submit",
command=self._login_btn_clickked).grid(row=3, columnspan=4, pady=20)
self.root.mainloop()
def _login_btn_clickked(self):
sex = self._selected()
print(sex)
def _selected(self):
return self.sex_option.get()
_MainScreen()
#_RegisterScreen() # comment the above line and uncomment this line
# to test the _RegisterScreen object alone.
我一直在這個工作了一段時間,我仍然無法解決這個問題。我認爲它與sex_option的範圍有關。 –
@GunnerStone,我已經兩個星期了。我認爲答案應該是......愚蠢的。但是我找不到它。這是令人沮喪的,因爲我='( –