tkinker で .pack を使用してウィジェットを適切に配置するにはどうすればよいですか?

意志

私は大学のクラスのプロジェクトに取り組んでおり、何かのために tkinker GUI を作成しようとしていますが、その中で適切な位置を得るのに問題があります。

ここに私のコードがあります:

from tkinter import *
from sys import exit

def button_func():
        print("Test")

class TestClient(Frame):
    def __init__(self, master):
        Frame.__init__(self, master)
        self.pack()

        w = Listbox(width=20,height=24)
        w.insert(1,"WoW")
        w.pack(side=LEFT)
        w = Text(width=60)
        w.pack(side=LEFT)
        w = Listbox(width=20,height=24)
        w.insert(1,"Hi")
        w.pack(side=RIGHT)

        w = Button(self, text="Start", width=10,padx=10,pady=10, command=button_func)
        w.pack(side=LEFT)
        w = Button(self, text="Change Room", width=10,padx=10,pady=10, command=button_func)
        w.pack(side=LEFT)
        w = Button(self, text="Change Room", width=10,padx=10,pady=10, command=button_func)
        w.pack(side=LEFT)
        w = Button(self, text="FIGHT", width=10,padx=10,pady=10, command=button_func)
        w.pack(side=LEFT)
        w = Button(self, text="PvP FIGHT", width=10,padx=10,pady=10, command=button_func)
        w.pack(side=LEFT)
        w = Button(self, text="Loot", width=10,padx=10,pady=10, command=button_func)
        w.pack(side=LEFT)
        w = Button(self, text="Leave", width=10,padx=10,pady=10, command=button_func)
        w.pack(side=LEFT)

        stats = Listbox(width= 20)
        stats.insert(1,"health:")
        stats.pack(side=BOTTOM)

root = Tk()
root.title = "Test program"
tw = TestClient(root)
root.mainloop()

問題は、トップ ボタンをテキスト ウィジェットとリスト ボックス ウィジェットの下に配置し、ヘルスとラベル付けされたリスト ボックスをその下に配置することです。それらを上下にパッキングしようとしましたが、どちらも機能せず、解決策が見つかりません。グーグルまたはここで、これについてどうすればよいか知っている人はいますか?

PS インデントが悪い場合は申し訳ありませんが、初めてここで、インデントを台無しにせずにコードを貼り付ける方法がわかりませんでした。

Luke.py

大まかなアイデアについては、以下を参照してください。

from tkinter import *
from sys import exit

def button_func():
        print("Test")

class TestClient(Frame):
    def __init__(self, master):
        Frame.__init__(self, master)
        self.pack()

        for n in range(3):
            self.grid_rowconfigure(n, weight=1)

        for n in range(8):
            self.grid_columnconfigure(n, weight=1)

        lb1 = Listbox(self, width=20,height=24)
        lb1.insert(1,"WoW")
        lb1.grid(row=0, column=0, columnspan=2, sticky='news')

        t1 = Text(self, width=60)
        t1.grid(row=0, column=3, columnspan=3)

        lb2 = Listbox(self, width=20,height=24)
        lb2.insert(1,"Hi")
        lb2.grid(row=0, column=6, columnspan=2, sticky='news')


        b1 = Button(self, text="Start", width=10,padx=10,pady=10, command=button_func)
        b1.grid(row=1, column=0)

        b2 = Button(self, text="Change Room", width=10,padx=10,pady=10, command=button_func)
        b2.grid(row=1, column=1)

        b3 = Button(self, text="Change Room", width=10,padx=10,pady=10, command=button_func)
        b3.grid(row=1, column=3)

        b3 = Button(self, text="FIGHT", width=10,padx=10,pady=10, command=button_func)
        b3.grid(row=1, column=4)

        b4 = Button(self, text="PvP FIGHT", width=10,padx=10,pady=10, command=button_func)
        b4.grid(row=1, column=5)

        b5 = Button(self, text="Loot", width=10,padx=10,pady=10, command=button_func)
        b5.grid(row=1, column=6)

        b6 = Button(self, text="Leave", width=10,padx=10,pady=10, command=button_func)
        b6.grid(row=1, column=7)

        stats = Listbox(self, width= 20)
        stats.insert(1,"health:")
        stats.grid(row=2, column=0, columnspan=8, sticky='news')

root = Tk()
root.title = "Test program"
tw = TestClient(root)
root.mainloop()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Tkinkerでレターカウンターを作成するにはどうすればよいですか?

分類Dev

HTML Agility Packを使用して不正な形式のHTMLを修正するにはどうすればよいですか?

分類Dev

wasm-packを使用せずにRustプロジェクトをWasmにコンパイルするにはどうすればよいですか?

分類Dev

Modbus TCPを介して「struct.pack」タイプで送信するにはどうすればよいですか?

分類Dev

ウィンドウ上のJava Swing pack()は最大化を解除します。それを回避するにはどうすればよいですか?

分類Dev

BoxLayoutでkivyウィジェットを他のウィジェットと比較して中央に配置するにはどうすればよいですか?

分類Dev

Cairoを使用してdrawingAreaウィジェットを描画するにはどうすればよいですか?

分類Dev

Html Agility Packを使用して、属性値に特定の文字列を含むすべてのHTMLタグを取得するにはどうすればよいですか?

分類Dev

tkinterを使用して複数のウィジェットを1行に並べて配置するにはどうすればよいですか?

分類Dev

ウェイトプロパティを適切に使用するにはどうすればよいですか?

分類Dev

Android:ConstraintLayoutを使用してウィジェットを別のウィジェットの上に表示するにはどうすればよいですか?

分類Dev

HTML Agility Packを使用してフォームに入力タグを追加するにはどうすればよいですか?

分類Dev

Windows Feature Experience Packのバージョンを見つけるにはどうすればよいですか?

分類Dev

ウィジェットをキャンバスに配置するにはどうすればよいですか?

分類Dev

Neumorphicウィジェットを同心円のFlutterに配置するにはどうすればよいですか?

分類Dev

Dijit Selectウィジェットを中央に配置するにはどうすればよいですか?

分類Dev

マウスの真下のQGraphicsViewにウィジェットを適切にドロップするにはどうすればよいですか?

分類Dev

X-Pack認証を使用してSpringData Elasticsearch v 3.0.0.M4のapplication.ymlファイルを作成するにはどうすればよいですか?

分類Dev

ルートノードの円をd3.layout.packグラフの中央に配置するにはどうすればよいですか?

分類Dev

すべてのJARファイルに署名してpack200するAntタスクを作成するにはどうすればよいですか?

分類Dev

中央ウィジェットと列ウィジェット内の整列ウィジェットを使用して、下部に2つのボタンを配置するにはどうすればよいですか?

分類Dev

cssグリッドを使用してページレイアウトを適切に作成するにはどうすればよいですか?

分類Dev

ウィジェットスタイルをフラッターで適切に再利用するにはどうすればよいですか?

分類Dev

Scalaで、Rubyの.pack( "N")のように、4文字をネットワークバイトオーダーのunsigned longとして扱うBigIntをパックするにはどうすればよいですか?

分類Dev

cssを使用してhtmlページの円内のテキストをより適切に配置するにはどうすればよいですか?

分類Dev

UITableViewControllerでRealmオブジェクトを適切に使用するにはどうすればよいですか?

分類Dev

インストールされているOffice2007 Service Packを確認するにはどうすればよいですか?

分類Dev

Flutterでウィジェットを別のウィジェットの上に配置するにはどうすればよいですか?

分類Dev

tkinterのgrid()メソッドを使用して新しいウィジェットにボタンを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    Tkinkerでレターカウンターを作成するにはどうすればよいですか?

  2. 2

    HTML Agility Packを使用して不正な形式のHTMLを修正するにはどうすればよいですか?

  3. 3

    wasm-packを使用せずにRustプロジェクトをWasmにコンパイルするにはどうすればよいですか?

  4. 4

    Modbus TCPを介して「struct.pack」タイプで送信するにはどうすればよいですか?

  5. 5

    ウィンドウ上のJava Swing pack()は最大化を解除します。それを回避するにはどうすればよいですか?

  6. 6

    BoxLayoutでkivyウィジェットを他のウィジェットと比較して中央に配置するにはどうすればよいですか?

  7. 7

    Cairoを使用してdrawingAreaウィジェットを描画するにはどうすればよいですか?

  8. 8

    Html Agility Packを使用して、属性値に特定の文字列を含むすべてのHTMLタグを取得するにはどうすればよいですか?

  9. 9

    tkinterを使用して複数のウィジェットを1行に並べて配置するにはどうすればよいですか?

  10. 10

    ウェイトプロパティを適切に使用するにはどうすればよいですか?

  11. 11

    Android:ConstraintLayoutを使用してウィジェットを別のウィジェットの上に表示するにはどうすればよいですか?

  12. 12

    HTML Agility Packを使用してフォームに入力タグを追加するにはどうすればよいですか?

  13. 13

    Windows Feature Experience Packのバージョンを見つけるにはどうすればよいですか?

  14. 14

    ウィジェットをキャンバスに配置するにはどうすればよいですか?

  15. 15

    Neumorphicウィジェットを同心円のFlutterに配置するにはどうすればよいですか?

  16. 16

    Dijit Selectウィジェットを中央に配置するにはどうすればよいですか?

  17. 17

    マウスの真下のQGraphicsViewにウィジェットを適切にドロップするにはどうすればよいですか?

  18. 18

    X-Pack認証を使用してSpringData Elasticsearch v 3.0.0.M4のapplication.ymlファイルを作成するにはどうすればよいですか?

  19. 19

    ルートノードの円をd3.layout.packグラフの中央に配置するにはどうすればよいですか?

  20. 20

    すべてのJARファイルに署名してpack200するAntタスクを作成するにはどうすればよいですか?

  21. 21

    中央ウィジェットと列ウィジェット内の整列ウィジェットを使用して、下部に2つのボタンを配置するにはどうすればよいですか?

  22. 22

    cssグリッドを使用してページレイアウトを適切に作成するにはどうすればよいですか?

  23. 23

    ウィジェットスタイルをフラッターで適切に再利用するにはどうすればよいですか?

  24. 24

    Scalaで、Rubyの.pack( "N")のように、4文字をネットワークバイトオーダーのunsigned longとして扱うBigIntをパックするにはどうすればよいですか?

  25. 25

    cssを使用してhtmlページの円内のテキストをより適切に配置するにはどうすればよいですか?

  26. 26

    UITableViewControllerでRealmオブジェクトを適切に使用するにはどうすればよいですか?

  27. 27

    インストールされているOffice2007 Service Packを確認するにはどうすればよいですか?

  28. 28

    Flutterでウィジェットを別のウィジェットの上に配置するにはどうすればよいですか?

  29. 29

    tkinterのgrid()メソッドを使用して新しいウィジェットにボタンを作成するにはどうすればよいですか?

ホットタグ

アーカイブ