Tkinter — Как установить переменную на основе пользовательского ввода entrybox

#python #python-3.x #tkinter

#python #python-3.x #tkinter

Вопрос:

Я хочу создать программу продажи билетов в тематический парк в tkinter, я уже создал ее на python 3, но я пытаюсь реализовать ее в tkinter. Однако я не уверен в том, как установить переменную на основе пользовательского ввода в tkinter. Я хочу, чтобы программа попросила пользователя ввести целое число для количества билетов, которые они хотели бы купить, это привело бы к переменной, которая затем может рассчитать стоимость в зависимости от того, сколько билетов они хотят. В основном я хотел бы, чтобы ввод выполнялся при нажатии кнопки, это привело бы к отображению нового фрейма. И последнее, что я слышал, возможно, использование spinbox для этого было бы более эффективным, но я на самом деле не уверен, однако, если кто-нибудь из вас знает, как внедрить spinbox в мою программу, это было бы действительно полезно.

 class PageAdultTickets(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent, bg="red")
        self.controller = controller
        label1 = tk.Label(self, text="------------- Welcome to Fantasialand Ticket Station ------------", fg="Blue", font=controller.title_font)
        label1.pack(side="top", fill="x", pady=10)

        label2 = tk.Label(self, text=f"The price of 1 adult ticket is £{adultTicket:0.2f}", fg="steelblue", bg="yellow", font=controller.title_font)
        label2.pack(side="top", fill="x", pady=5)
        button1 = tk.Button(self, text="Go to Main Menu",
                           command=lambda: controller.show_frame("MainMenu"))
        button1.pack(side="right")

        v = tk.IntVar()
        amAdultTickets = tk.Entry(self, textvariable=v)
        amAdultTickets.pack(side="bottom")
        s = v.get()
  

Спасибо всем, кто пытается помочь!

Комментарии:

1. Tkinter Spinbox , запись tkinter . Надеюсь, они помогут.

2. Я уже просмотрел это, у меня все еще есть проблема с получением входных данных и превращением их в переменную.

3. Вы задавали тот же вопрос ранее и получили комментарии о том, что неправильно получать значение записи сразу после ее создания. Вам нужно, например, создать другую кнопку, которая запускает функцию для получения значения и выполнения требуемого вычисления.

4. Да, но точно так же, как я сказал, какая команда для получения записи, сообщающая мне о моей проблеме, о которой я полностью осведомлен, совсем не помогает, я задавал это раньше, потому что я не получил подлинного ответа, и то, что вы публикуете свой бесполезный вопрос, не заставит меня захотеть опубликовать его снова. Поэтому, пожалуйста, либо помогите мне, либо игнорируйте меня. Спасибо @acw1668

5. Вы уже знаете, как получить значение записи: v.get() .