Я создал программу, которая должна позволять пользователям выбирать кандидата, за которого они хотели бы проголосовать. Я создал класс в отдельном файле python, но в той же папке, и использовал инструкцию import filename *. Когда я нажимаю кнопку, чтобы проголосовать за кандидатов, переключатели и текст не появляются на рамке.
class LoginSuccessful(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
label = tk.Label(self, text="Greenwich Student Union Voting System", bg="blue", fg="white",
width="200", height="2", font=controller.title_font)
label.pack(side="top", fill="x", pady=10)
button = tk.Button(self, text="View Candidates", height="2", width="30",
command=lambda: controller.show_frame("ViewCandidates"))
button.pack()
label = tk.Label(self, text="", )
label.pack(side="top", fill="x", pady=10)
button1 = tk.Button(self, text="Vote for Candidates", height="2", width="30",
command=lambda: controller.show_frame("VoteForPresident"))
Приведенный выше код находится в отдельном файле python, однако я связал python файлы вместе, используя оператор импорта
class VoteForPresident(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
label = tk.Label(self, text="Vote for your President ", bg="red", fg="white",
width="200", height="2", font=controller.title_font)
label.pack(side="top", fill="x", pady=10)
def selection(self):
radio = IntVar()
selection = msg.showinfo("Submit", "You have chosen President Barn as your preference " + str(radio.get()))
with open("PresidentCandidates.txt", "r") as f:
label = tk.Label(self, text=f.read())
label.pack(side="top", fill="x", pady=10)
r1 = Radiobutton(text="1ST PREFERENCE", variable=radio, value=1, command=selection)
r1.pack(side="top", fill="x", pady=10)
r2 = Radiobutton(text="2ND PREFERENCE", variable=radio, value=2, command=selection)
r2.pack(side="top", fill="x", pady=10)
r3 = Radiobutton(text="3RD PREFERENCE", variable=radio, value=3, command=selection)
r3.pack(side="top", fill="x", pady=10)
r4 = Radiobutton(text="4TH PREFERENCE", variable=radio, value=4, command=selection)
r4.pack(side="top", fill="x", pady=10)
label = tk.Label(self, text="")
label.pack(side="top", fill="x", pady=10)
button = tk.Button(self, text="Back", height="2", width="30",
command=lambda:
self.controller.show_frame("LoginSuccessful"))
button.pack()