简体   繁体   中英

I want to take user input and output it inside GUI

I want to take user input and output it inside GUI... my code

from tkinter import *
root = Tk()
root.geometry("644x344")

def printSomething():
    label = Label(root, text="???")
    label.grid(row=1, column=2)

ok=Label(root, text="Type your name").grid(row=2,column=1)
entryvalue = StringVar()

entry= Entry(root, textvariable=entryvalue)
entry.grid(row=2, column=2)


button = Button(root, text="Print Me", command=printSomething)
button.grid(row=3, column=2)


root.mainloop()

To get the text from an input box, use inputbox.get() . Also, don't set the ok variable to Label(root, text="Type your name").grid(row=2,column=1) . This will be set as NoneType, so do

ok = Label(root, text="Type your name").grid(row=2,column=1)
ok.grid(row=2, column=1)

Here is your code:

from tkinter import *
root = Tk()
root.geometry("644x344")

def printSomething():
    label = Label(root, text=entry.get())
    label.grid(row=1, column=2)

ok=Label(root, text="Type your name")
ok.grid(row=2,column=1)

entryvalue = StringVar()

entry= Entry(root, textvariable=entryvalue)
entry.grid(row=2, column=2)


button = Button(root, text="Print Me", command=printSomething)
button.grid(row=3, column=2)


root.mainloop()

First thing, In order to accept and display the output on the screen you have to use either Label widget or Canvas Text . Since your code is not updating the Label widget thus I am here doing what you want to do. First, create a Label widget in the main window, Get the user input by using.get() method, print and display the user input.

from tkinter import *
root = Tk()
root.geometry("644x344")

def printSomething():
    label.config(text=entry.get())


ok=Label(root, text="Type your name")
ok.grid(row=2,column=1)
entryvalue = StringVar()

entry= Entry(root, textvariable=entryvalue)
entry.grid(row=2, column=2)


button = Button(root, text="Print Me", command=printSomething)
button.grid(row=3, column=2)

#Create a Label to print the Name
label= Label(root, text="", font= ('Helvetica 14 bold'), foreground= "red3")
label.grid(row=1, column=2)

root.mainloop()

这是最终输出

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM