実際、私はtkinterウィンドウが必要な大きさであると考えました。残念ながら、それは私にとって真実ではありません(私はLubuntu 16.04を使用しています)。tkinterプログラムのウィンドウサイズ
私の質問: 以下の例を教えてもらえますか?私はtkinterの動作を理解していません。ここでは例
:
import tkinter as tk
root = tk.Tk()
menubar = tk.Menu(root)
file_menu = tk.Menu(menubar)
menubar.add_cascade(label="This is a very long string because it's just a test . . . ", menu=file_menu)
file_menu.add_command(label="New", accelerator="Ctrl+N")
root.config(menu=menubar)
root.mainloop()
スクリーンショット: ウィンドウが十分な大きさではありません。どうして?
(コンテナフレーム付き)もう一つの例:
import tkinter as tk
root = tk.Tk()
container = tk.Frame(root).pack()
menubar = tk.Menu(container)
file_menu = tk.Menu(menubar)
menubar.add_cascade(label="This is a very long string because it's just a test . . . ", menu=file_menu)
file_menu.add_command(label="New", accelerator="Ctrl+N")
root.config(menu=menubar)
root.mainloop()
スクリーンショット:非常に、非常に小さいです!あなたは本当にそれを見ることはできません。しかし、なぜそうですか?
問題は、メニューバーがウィンドウのサイズに無関係であるということですか? – Aliquis
はい。メニューはトップレベルに関連付けられています。それは「内側」ではありません。 Tkのドキュメントには、これが(http://www.tcl.tk/man/tcl8.6/TkCmd/toplevel.htm#M11)、メニューが装飾の一部であり、ウィンドウ枠によって管理されていることが記載されています。 X11では少し違いますが、 'winfo_manager'は各ウィジェットの管理内容を教えてくれます。 – patthoyts