ここに2つのボタンがあるプログラムがあります。現在、ボタンは真下にあるため、これらのボタンの間にスペースができるように位置を変更しようとしています。それらの位置を変更するにはどうすればよいですか?
def menu():
import tkinter
window=tkinter.Tk()
window.title('Lightning Parties')
window.configure(background='turquoise')
lbl=tkinter.Label(window, text='Welcome to Lightning Parties!', fg='purple', bg='turquoise', font=('comicsans', 14))
lbl.pack()
#here are the buttons
lbl=tkinter.Button(window, text='Returning customer options', fg='white', bg='purple', font=('comicsans', 12),command=combine_funcs(window.destroy, customer_login))
lbl.pack()
lbl=tkinter.Button(window, text='Register as a customer', fg='white', bg='purple', font=('comicsans', 12),command=combine_funcs(window.destroy, customer_details))
lbl.pack()
どんな助けでも喜んでいただければ幸いです、ありがとう!
実際、前学期には、先生から提供されたプロジェクトであるTkinterアプリケーションも作成しました。そこで、PythonのチュートリアルWebサイトにアクセスして、ウィジェットを出力画面に配置する3つの方法を見つけます。3つの方法は次のとおりです。
1. Pack()
2. Grid()
3. Place() #the best method over Pack() and Grid()
Place()メソッドは、xとyの形式で座標を取ります。詳細については、このリンクを参照してください https://www.tutorialspoint.com/python/python_gui_programming.htm
https://www.tutorialspoint.com/python/tk_place.htm
指定されたリンクのページの下部を参照してください。Place()メソッドは、適切な引数で定義されています。 Pack()やGrid()よりもPlace()メソッドを使用します。これは、htmlで使用するCSSのように機能し、(width、height)の値を取り、ウィジェットを任意の場所に配置するためです。
あなたの答えを見つけたら、親指を立てていただければ幸いです。
私のはこのようになります:
object1 = Tk()
actionBtn = Button(object1, text="Enter", width=15, height=2, command=quit).place(x=0, y=0)
#.place() is the best thing to use, x and y determine the location in terms of geometry.
拡張子が.pngの画像を追加することもでき、次のようになります。
buttonEnter = PhotoImage(file="buttonEnter.png") #image file must be inserted
buttonEnter1 = Button(object1, image=buttonEnter, width=20, height=4).place(x=0, y=0)
Tkinterがこの問題を解決する(または少なくとも簡単に解決する)明示的な方法があるかどうかは完全にはわかりませんが、私の提案はgrid()
メソッドの使用を開始することです。pack()
よりも少し多くのコードが必要です(詳細については、effbotの記事を参照してください)が、はるかに用途が広いです。
繰り返しになりますが、この問題を直接解決できるとは思いませんが、より用途が広く、GUIを正しく構成し、sticky
キーワードを適切に使用すると、多くの場合、適切な間隔が与えられます。 。
ボタン間の垂直方向のスペースを増やすには、pady
メソッドでpack
引数を使用します:lbl.pack(pady=10)
。
水平方向の間隔には、padx
引数があります。これは、grid
メソッドでも機能します。