首页 > 解决方案 > 单击按钮,复制 entry() 中的内容并将其存储到变量(tkinter)

问题描述

我有两个小部件可以使用,一个文本输入和一个按钮,它们都是在一个函数中创建的。我想要发生的是用户输入他们的名字,然后单击按钮提交答案。我希望计算机做的是按下按钮,它将读取文本中的内容并将其保存到变量中。保存后,它会打印出来。

if下面的代码很糟糕,因为它在没有按下按钮的情况下立即运行语句。

必须有一个更简单的解决方案。此外,这可能不是 PEP 8 或其他请耐心等待,因为我是新手。

import tkinter as tk
from tkinter import Tk, Label, Button
import sys
import time
import random
import threading
from tkinter import *

window = tk.Tk()
window.geometry("300x300")

window.title("GUI")

def start_screen():
    reset()
    start = tk.Label(window, text="start of game")
    start.place(x=110,y=20)
    play = Button(window, text= "play", command = start_game)
    play.place(x=110,y=50)
    helper = Button(window, text="help", command = help_screen)
    helper.place(x=110,y=70)

def stuff():
    global t
    t = True
    print(t)
    return t
 
def text_handling():
    global t
    t = False
    reset()#clears the screen
    label = Label(window, text='')
    question1= "what is your name?"
    label.pack()
    print_slow(label, question1, 40)#prints out letters slowly

    #here is the part I'm having problems with
    name = Entry(window)
    name.pack()
    but = Button(window, text="enter", command= stuff)
    
    but.pack()
    print(t)
    if t == True:
        myPlayer.name = name.get()
        print(myPlayer.name)
    

def start_game():
    reset()
    bt = tk.Button(window,text="Enter", bg="orange", command = 
    text_handling)

    bt.place(x=100,y=100)

start_screen()

标签: pythontkinter

解决方案


推荐阅读