У меня есть основа c GUI для моего приложения, использующего Tkinter, генератор покажет мне случайное слово из словаря на иврите, есть две основные функции, которые я не знаю, как создать.
1) Когда я нажимаю «Далее», я хочу увидеть новое словарное слово. Как создать функцию для генерации нового слова в указанном фрейме Tkinter, когда я нажимаю кнопку «Далее»?
2) Когда я нажимаю кнопку «Отправить», я хочу проверить, является ли Engli sh (ключ ) соответствует ивриту (значение) в моем словаре. Как создать функцию для проверки ввода пользователя по соответствующему ключу для заданного значения для команды кнопки?
Я новичок, поэтому я ценю возможность обучения, и я действительно хочу использовать это приложение для собственного обучения. Вот большая часть кода:
from tkinter import ttk
import random
dictionary = {'give her':'תנ לה', 'give me': 'תני לי', 'give us': 'תן לנו'
,'give him': 'תן לו', 'give them': 'תן להם'
, 'give to them (f)': 'תן להן'}
question = random.choice(list(dictionary.values()))
answer = dictionary.keys() == question
class Feedback:
def __init__(self, master):
self.frame_header = ttk.Frame(master)
self.frame_header.pack()
# self.logo = PhotoImage(file = '/Users/las/Desktop/Python/flagicon.png')
# ttk.Label(self.frame_header, image = self.logo).grid(row = 0, column = 0, rowspan = 2)
ttk.Button(self.frame_header, text = 'Quit', command = self.Quit).grid(row=0, column=3)
ttk.Label(self.frame_header, wraplength = 250, text = 'Type the English translation of the random word in Hebrew.').grid(row = 1, column = 1)
ttk.Label(self.frame_header, wraplength = 300,
text = ("Hebrew Word", question)).grid(row = 2, column = 1)
self.frame_content = ttk.Frame(master)
self.frame_content.pack()
ttk.Label(self.frame_content, text = 'English:').grid(row = 0, column = 1, padx = 5, sticky = 'sw')
self.user_input = ttk.Entry(self.frame_content, text = "Your Answer?", width = 24)
self.user_input.grid(row = 1, column = 1, padx = 5)
ttk.Button(self.frame_content, text = 'Submit', command = self.submit).grid(row = 2, column = 1, padx = 5, pady = 5, sticky = 'e')
ttk.Button(self.frame_content, text = 'Clear', command = self.clear).grid(row = 3, column = 0, padx = 5, pady = 5, sticky = 'w')
ttk.Button(self.frame_content, text = 'Next', command = self.next).grid(row = 3, column = 2, padx = 5, pady = 5, sticky = 'w')
def submit(self):
self.answer = answer
user_input = self.user_input
if user_input == answer:
print ("Correct")
else:
print ("!לא נכון ", "The answer is:", dictionary.keys(question))
def clear(self):
self.user_input.delete(0, 'end')
def next(self):
print (question)