我在使用 tkinter 编写刽子手游戏时遇到了一些问题,前端和后端分开并且都使用 OOP(我知道在后端使用 OOP 并不是真的有必要,它可能会更好作为图书馆,但我这样做是为了学习练习)。我是 tkinter 的新手,我想知道如何将输入文本框的结果分配给一个变量,然后传递给后端的函数。我还想知道我的 self.letter_row 和 self.guesses_left 标签是否会在后端更新时更新,尽管我在 game_gui() 开始时将它们分配到前面,但我不确定它们是否将自动执行此操作。这是所有前端代码...
from tkinter import *
from tkinter.ttk import *
import hangmanSkeleton as hm
class game_gui():
def __init__(self,master):
self.master = master
master.title("Hangman")
this_game = hm.Hangman()
self.word = this_game.word
self.letter_row = this_game.letter_row
self.letters_guessed = this_game.letters_guessed
self.guesses_left = this_game.guesses_left
self.letter = StringVar()
self.lbl_word = Label(master, text = "Welcome to Hangman!")
self.lbl_word.grid(row = 0,padx = 10 , pady = 15, columnspan = 2)
self.lbl_row = Label(master, text = self.letter_row)
self.lbl_row.grid(row = 1, column = 0, padx = 15, pady = 10)
self.lbl_guesses = Label(master, text = "Guesses Left: " + str(self.guesses_left))
self.lbl_guesses.grid(row = 1, column = 1, padx = 15, pady = 10)
self.entry_letter= Entry(master, textvariable = self.letter)
self.entry_letter.grid(row = 2, padx = 10, pady = 20, columnspan = 2)
self.guess_button = Button(master, text = "Guess Letter", command=lambda: this_game.guess_letter(self.letter))
self.guess_button.grid(row = 3, padx = 10, pady = 10, columnspan = 2)
root = Tk()
gui = game_gui(root)
root.mainloop()
这只是来自后端的函数,我试图在上面的 self.guess_button() 中工作..
相关分类