3

2 つの Tk() ウィジェットを持つアプリを作成しています。アプリを使いやすくするために、それらを 1 つの大きなウィジェットに並べて結合することは可能ですか?

from tkinter import *

tk = Tk()
canvas = Canvas(tk,width=400, height=150)
canvas.pack()

tk2 = Tk()
canvas2 = Canvas(tk2,width=400, height=150)
canvas2.pack()

tk.mainloop(), tk2.mainloop()

基本的なウィンドウを作成するためにこれを行うと、明らかに 2 つの別個のウィンドウが表示されます。それを一つにまとめることはできますか?

私は初心者で、python 3.3 を使用しています。

4

2 に答える 2

1

Tk同じアプリで の2 つのインスタンスを使用しないでください。複数のウィンドウが必要な場合は、 のインスタンスを作成する必要がありますToplevel。すべてを 1 つのウィンドウに収めたい場合は、 のインスタンスを作成し、Frame必要に応じて配置します (横並び、上から下、グリッド内など)。

の複数のインスタンスを持つことは可能Tkですが、予期しない問題を引き起こす可能性がある副作用があります。Tk (tkinter が構築される) は、単一のルート ウィジェットを持つように設計されています。

于 2013-07-08T16:18:54.470 に答える