10

グリッド ジオメトリ マネージャーを使用する場合。あなたが持っているとしましょう:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
ttk.Button(root, text="Hello World").grid(sticky=tk.NSEW)
root.mainloop()

行/列の重みを指定する部分は、次のようにコーディングすることもできます。

root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)

この例では、widget.rowconfigure と widget.grid_rowconfigure のどちらが正しい方法ですか? なぜ?

おまけ: 実装の POV から、なぜ両方が機能するのですか?

4

2 に答える 2

10

widget.rowconfigureは文字通り単なるエイリアスですwidget.grid_rowconfigure。tkinter のソース コードには、次のコード行があります。

rowconfigure = grid_rowconfigure

事実はわかりませんが、widget.rowconfigure便宜上追加されただけだと思います。率直に言って、この質問を読むまで存在すら知りませんでした。

私の意見でgrid_rowconfigureは、使用する適切な名前です。tkinter は基礎となる tcl/tk インタープリターへのインターフェースであり、tcl/tk ではコマンドがgrid rowconfigure. ほとんどの tkinter 関数は、tcl/tk 関数の命名規則を可能な限り忠実に反映しているためgrid_rowconfigure、当然の選択です。

于 2013-08-16T21:43:20.840 に答える