私は現在、私の授業のためにpython tkinterのインボイスジェネレータで作業しています。私はプログラミングが初めてで、基本的なログインページを作成しました。ログインボタンが押されたとき(まだ拘束が設定されていない)、GUIは次の '画面'に移動します。私はこれを行うためにフレームを使用しています。しかし、次の 'ページ'では、私が試して配置したり、グリッドを使用したりすると、表示されないだけで、空のGUIウィンドウが表示されます。 ! ます。#/ usr/bin/pythonの # - - コーディング:UTF-8から - 私は基本的にしたいことはplace
にできることか、また私のウィジェットの位置を設定するためにgrid
を使用することです別のフレームで "pack"を使用した後に "grid"と "place"を使用しようとしましたが、ウィジェットは表示されません。
import tkinter as tk
root = tk.Tk()
def go_to_login():
f1.pack()
f2.pack_forget()
def go_to_first():
f1.pack_forget()
f2.pack()
root.geometry('1280x800')
root.title('Invoice')
f1 = tk.Frame(root)
label_US = tk.Label(f1, text='Username')
label_US.pack()
label_PW = tk.Label(f1, text='Password')
label_PW.pack()
entry_US = tk.Entry(f1)
entry_US.pack()
entry_PW = tk.Entry(f1, show='*')
entry_PW.pack()
checkbox_LI = tk.Checkbutton(f1, text='Keep me logged in')
checkbox_LI.pack()
but_LI = tk.Button(f1, text='login', command=go_to_first)
but_LI.pack()
but_QT = tk.Button(f1, text='Quit', command=quit)
but_QT.pack()
f2 = tk.Frame(root)
but_LO = tk.Button(f2, text='Logout', command=go_to_login)
but_LO.pack() # try to change pack here
but_HP = tk.Button(f2, text='Help')
but_HP.pack() # try to change pack here
but_NX1 = tk.Button(f2, text='Next', command=quit)
but_NX1.pack() # try to change pack here
f1.pack()
root.mainloop()
私はpack
を使用しない限り、空のGUI画面が表示されます。私は間違って何をやったのですか?代わりにウィジェットを置くことができますか?
私はこのことが最善の方法であるかどうかは分かりませんし、クラスなどを使っている経験はありませんが、私は提案することができます。
を私のために私が変更した場合、それは '作品ギリギリd。おそらく、あなたが使っていると思うように 'grid'と' place'を使用していないでしょう。これらのジオメトリ・マネージャのドキュメントを確認してください。 – nbro