2

エントリとテキスト ラベルを上下に同じ幅で配置したいと考えています。

これが私のコードです:

from tkinter import * 

root = Tk()

title = StringVar()
title_entry = Entry(root, textvariable=title, width=30)
title_entry.pack()


content_text = Text(root, width=30)
content_text.pack()

root.mainloop()

しかし、私の 2 つのウィジェットの幅は同じではありません。それを解決するアイデアはありますか?

4

3 に答える 3

3

ウィジェットのサイズが異なるのは、おそらくデフォルトのフォントが異なるためです。フォントと幅が同じ場合は、自然な幅も同じにする必要があります。ただし、実際の幅は、ウィンドウ内での配置方法によって影響を受ける可能性があり、多くの場合、これらのウィジェットに異なるフォントを使用する正当な理由があります。

あなたの場合の最も簡単な解決策は、各ウィジェットに x 軸のコンテナを埋めることです。これにより、自然な幅に関係なく、ウィンドウの端から端まで拡張されます。

title.pack(fill="x")
content_text.pack(fill="x")

これらのウィジェットが 2 つしかない場合は、さらに一歩進んで、適切なサイズ変更動作を得るために追加のオプションを指定する必要があります。

title.pack(fill="x")
content_text.pack(fill="both", expand=True)
于 2013-05-20T10:46:05.227 に答える