13
votes

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.

7

7 Answers

24
votes

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()
15
votes

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()

4
votes

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()
3
votes
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

2
votes

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()
2
votes

You can also change it by changing the font size :

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

)
0
votes

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 !