tkinter python entry height

Question:

I’m making a simple app just to practice python in which I want to write text as if it were Notepad. However, I can’t make my entry bigger. I’m using tkinter for this. Does anybody know how to make the height of an entry bigger?

I tried something like this:

f = Frame()
f.pack()
e = Entry(f,textvariable=1,height=20)
e.pack()

I know this doesn’t work because there isn’t a property of “height”. However, I see that there is a width property.

Asked By: Abdul Hamid

||

Answers:

It sounds like you are looking for tkinter.Text, which allows you to adjust both the height and width of the widget. Below is a simple script to demonstrate:

from tkinter import Text, Tk

r = Tk()
r.geometry("400x400")

t = Text(r, height=20, width=40)
t.pack()

r.mainloop()
Answered By: user2555451

Another way would be to increase the internal padding by adding this in the pack method:

...
e = Entry(f,textvariable=1,height=20)
e.pack(ipady=3)
...

for instance. This worked for me for an ‘Entry’ and it also works with .grid()

Answered By: Damjan Temelkovski
from tkinter import *

root=Tk()

url = Label(root,text="Enter Url")
url.grid(row=0,padx=10,pady=10)

entry_url = Entry(root,width="50")
entry_url.grid(row=0,column=1,padx=5,pady=10,ipady=3)

root.geometry("600x300+150+150")

root.mainloop()

learn more follow this github

output image this is output of above code

Answered By: Harish Kumawat

To change an entry widget’s size, you have to change it’s font to a larger font.

Here is my code:

import tkinter as tk

large_font = ('Verdana',30)
small_font = ('Verdana',10)

root = tk.Tk()

entry1Var = tk.StringVar(value='Large Font!')
entry1 = tk.Entry(root,textvariable=entry1Var,font=large_font)
entry1.pack()    

entry2Var = tk.StringVar(value='Small Font!')
entry2 = tk.Entry(root,textvariable=entry2Var,font=small_font)
entry2.pack()

root.mainloop()
Answered By: kalsara Magamage

Actually it’s very easy. You don’t need to set height in Entry(), but in place().
for example:

from tkinter import Entry, Tk

window = Tk()
t = Entry(window)
t.place(width=150,height=50)

window.mainloop()
Answered By: Leon Zou

You can change the height of the entry widget.
To do so you can write:

entry_box.place(height=40, width=100)

Change the value according to your needs!
IT WORKS !

Answered By: Srinjay Vatsa

You can also change it by changing the font size :

Entry(
root,
font=("default", 40 or 20 whatever )

)
Answered By: Sake

By using the .place(width= , height= ) method, you can adjust the size of the entry. Another Method is to change the font of the text, but that limits your ability to change the font.

.place() method:

textbox.place(width= (Your desired width) ,height= (Your desired height))

Font Method:

textbox = Entry(root, font=("default", (Your font size))

Hope this helps!

Answered By: SShield