Вопрос по python – Почему функция get в Tkinter Entry ничего не возвращает?

17

Я пытаюсь использоватьEntry поле, чтобы получить ручной ввод, а затем работать с этими данными.

Все источники, которые я нашел, утверждают, что должны использоватьget() функции, но я еще не нашел простой рабочий мини-пример, и я не могу заставить его работать.

Я надеюсь, что кто-нибудь скажет мне, что я делаю неправильно. Вот мини-файл:

from tkinter import *


master = Tk()

Label(master, text="Input: ").grid(row=0, sticky=W)

entry = Entry(master)
entry.grid(row=0, column=1)

content = entry.get()
print(content)  # does not work

mainloop()

Это дает мнеEntry поле, которое я могу ввести, но я ничего не могу сделать с данными после того, как они введены.

Я подозреваю, что мой код не работает, потому что изначальноentry пустой. Но тогда как мне получить доступ к входным данным после их ввода?

Error: User Rate Limit ExceededgetError: User Rate Limit Exceeded Bryan Oakley

Ваш Ответ

4   ответа
30

Error: User Rate Limit ExceededgetError: User Rate Limit Exceededmainloop.

Error: User Rate Limit ExceededgetError: User Rate Limit Exceeded

import tkinter as tk

class SampleApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.entry = tk.Entry(self)
        self.button = tk.Button(self, text="Get", command=self.on_button)
        self.button.pack()
        self.entry.pack()

    def on_button(self):
        print(self.entry.get())

app = SampleApp()
app.mainloop()

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded CodingCat
Error: User Rate Limit Exceeded
3

Error: User Rate Limit Exceeded

from tkinter import *    
master = Tk()

# Create this method before you create the entry
def return_entry(en):
    """Gets and prints the content of the entry"""
    content = entry.get()
    print(content)  

Label(master, text="Input: ").grid(row=0, sticky=W)

entry = Entry(master)
entry.grid(row=0, column=1)

# Connect the entry with the return button
entry.bind('<Return>', return_entry) 

mainloop()
1

*

master = Tk()
entryb1 = StringVar

Label(master, text="Input: ").grid(row=0, sticky=W)

Entry(master, textvariable=entryb1).grid(row=1, column=1)

b1 = Button(master, text="continue", command=print_content)
b1.grid(row=2, column=1)

def print_content():
    global entryb1
    content = entryb1.get()
    print(content)

master.mainloop()

Error: User Rate Limit Exceeded

7

Error: User Rate Limit ExceededStringVarError: User Rate Limit Exceeded

v = StringVar()

e = Entry(master, textvariable=v)
e.pack()

v.set("a default value")
s = v.get()

Error: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit Exceededeffbot.org.

Error: User Rate Limit ExceededStringVarError: User Rate Limit Exceeded

Похожие вопросы