This question already has answers here:
send the output of print() to tkinter Text widget
(3 answers)
Closed yesterday.
I'm trying to print out information into this window and not in the console. How do I do this?
from tkinter import *
print("Hello")
gui = Tk(className='StreetView Map')
# set window size
gui.geometry("500x200")
gui.mainloop()
I tried using the print function but nothing showed up in the window.
You can create a Label.
Label(gui, text="Hello").pack()
You need to Create a Text widget where you can insert the test on GUI on Tkinter.
Given your code it would have to be done like this.
from tkinter import *
gui = Tk(className='StreetView Map')
# set window size
gui.geometry("500x200")
T = Text(root, height = 5, width = 52)
T.pack()
#insert the string in Text Widget
T.insert(tk.END, "hello")
gui.mainloop()
Related
This question already has answers here:
How to handle a click button event in python module tkinter
(2 answers)
Closed 2 years ago.
Here is my code!
///
from tkinter import *
import os
import pygame
os.system(‘clear’)
#Window Setup
root = Tk()
root.title(‘cottontail’)
root.geometry(‘800x600’)
frame = Frame(root)
title_screen = Label(root, text = “Choose your rabbits name!”)
title_screen.pack()
name = Text(root, width=10 , height=3)
name.pack()
confirm_name = Button(root, text= “Conirm?”, width = 5, height=3)
root.mainloop()
///
My objective is to take the input the user puts in the text box to make a label in a pygame window with that name. I figured that a button would be an easy way to confirm the name and open the pygame screen. If this makes any sense to you it would really be appreciated if you could help me. Hope you have a good night!
Thanks in advance!
I'm not familiar with tkinter as I'm a PyQt dev, but I can help with your question as the logic behind both of them are same.
You can make a function that is called by the button whenever its clicked, and then, inside that function definition, do whatever you want.
Here's the website that explains this in detail -
https://www.delftstack.com/howto/python-tkinter/how-to-get-the-input-from-tkinter-text-box/
This question already has answers here:
Why does Tkinter image not show up if created in a function?
(5 answers)
Tkinter PIL image not displaying inside of a function
(1 answer)
Closed 2 years ago.
So I'm experimenting With Tkinter message boxes And I'm trying to insert an image in my toplevel window>
from tkinter import*
from tkinter import messagebox
root = Tk()
root.title('Hi')
root.iconbitmap('C:/Users/davids/Downloads/i2.ico')
e = Entry(root,borderwidth=8,width=35)
top = Toplevel()
def popup():
mg = messagebox.askyesno("Warning", "Click yes/No.")
if mg == True:
top = Toplevel()
top.geometry('1200x1200')
b= Label(top, text="hi")
b.pack()
image = PhotoImage(file="path")
Label(root, image=image).pack()
Button(root,text="Ask question", command=popup).pack()
root.mainloop()
However when I run this code nothing shows. There isn't an error so I can't see what I'm doing wrong. Only the text is displayed. I've tried adding root. but that still doesn't fix it. Please note that I do know that it is easier to use PIL however my new operating system won't install it for some reason so I'm trying to find a way without Pillow. Any idea what is happening?
This question already has answers here:
Why is my Button's command executed immediately when I create the Button, and not when I click it? [duplicate]
(5 answers)
Closed 4 years ago.
I have the code off a clicker below and I'm trying to solve how to show to the number of clicks on the window in tkinter. I'm new to python. If I click on the button the number of clicks remains the same. I don't know if the text doesn't updates or if the increase() function doesn't work. Please help me solve this.
from tkinter import *
clicks = 0
def increase(clicks):
clicks += 1
root = Tk()
root.geometry('500x300')
label=Label(text="Clicks:")
show=Label(text=clicks)
btc = Button(text="Click me", command=increase(clicks))
label.pack()
show.pack()
btc.pack()
root.mainloop()
You need to set the label to have a variable of a particular kind called an IntVar()
Then use .set() and .get() to change the variable value and get its value. When it is changed then the label is automatically.
I suggest you have a look at this link.
Working Code:
from tkinter import *
def increase():
clicks.set(clicks.get() + 1)
root = Tk()
root.geometry('500x300')
label=Label(root, text="Clicks:")
clicks = IntVar()
show=Label(root, textvariable=clicks)
btc = Button(root, text="Click me", command=increase)
label.pack()
show.pack()
btc.pack()
root.mainloop()
This question already has answers here:
Easiest way to develop simple GUI in Python [closed]
(7 answers)
Closed 6 years ago.
I am learning to program with Python 3.6, and would like to ask for help on building a window. It would be greatly appreciated if someone would please show me the basics, like how to make the window, how to make buttons do things, input and output boxes, and stuff like that. I would prefer not to use pyQT or something like that.
The tkinter module is probably the most common Python GUI method.
To make a button:
from tkinter import *
tk = Tk()
btn = Button(tk, text="a clickable button", command())
btn.pack()
To make an input box:
from tkinter import *
tk = Tk()
inputBox = Entry(tk, bd=5)
#to read your box
inputBox.get()
To make a label:
from tkinter import *
tk = Tk()
label = Label(tk, text="your text here")
This question already has answers here:
stdout to tkinter GUI
(3 answers)
Closed 6 years ago.
How can I print text to my GUI instead of in the console with tkinter?
For example if I print "Test" instead of printing Test in my console it should print Test to the next line of the GUI. I need this to work with a large number of printed lines.
NOTE: I'm not sure what you mean by 'print', if this isn't what you're looking for please add a comment
As for 'printing' on your tkinter window, there are a few different ways.
One good way is the label widget, this is a widget which contains text, you can change the font, size, colour and alignment of the text.
mylabel = Label(master, text = "ExampleText", font = ("Purisa", 12)) # master can be a window or a frame
mylabel.pack() # packs the label on to the master
Another method is creating text on a canvas
mycanvas = Canvas(...)
mycanvas.create_text(x = 100, y = 100, text = "ExampleText")