pythonで、メモ帳のようにテキストを書きたいという単純なアプリを作成しています。しかし、エントリを大きくすることはできません。tkinterを使用してこれは、エントリの高さを大きくする方法を知っている人はいますか?
私はこのようなものを試しました:
f = Frame()
f.pack()
e = Entry(f,textvariable=1,height=20)
e.pack()
「高さ」のプロパティがないため、これは機能しません。ただし、widthプロパティがあることがわかります。
お探しのようです tkinter.Text
。ウィジェットの高さと幅の両方を調整できます。以下に、簡単なスクリプトを示します。
from tkinter import Text, Tk
r = Tk()
r.geometry("400x400")
t = Text(r, height=20, width=40)
t.pack()
r.mainloop()
別の方法は、これをpackメソッドに追加して、内部のパディングを増やすことです。
...
e = Entry(f,textvariable=1,height=20)
e.pack(ipady=3)
...
例えば。これは私にとって「エントリ」のために機能し、.grid()でも機能します
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()
詳細はこちらgithub
出力画像 これは上記のコードの出力です
エントリウィジェットのサイズを変更するには、フォントを大きなフォントに変更する必要があります。
これが私のコードです:
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()
実際、それはとても簡単です。 「Entry()」ではなく「place()」で「height」を設定する必要はありません。例えば:
from tkinter import Entry, Tk
window = Tk()
t = Entry(window)
t.place(width=150,height=50)
window.mainloop()