同時に2つのウィンドウを開くことは可能ですか?
import tkinter as Tk
import random
import math
root = Tk.Tk()
canvas = Tk.Canvas(root)
background_image=Tk.PhotoImage(file="map.png")
canvas.pack(fill=Tk.BOTH, expand=1) # Stretch canvas to root window size.
image = canvas.create_image(0, 0, anchor=Tk.NW, image=background_image)
root.wm_geometry("794x370")
root.title('Map')
root.mainloop()
optimized_root = Tk.Tk()
optimized_canvas = Tk.Canvas(optimized_root)
optimized_root.pack(fill=Tk.BOTH, expand=1)
optimized_image = second.create_image(0, 0, anchor=Tk.NW, image=background_image)
optimized_root.wm_geometry("794x370")
optimized_root.title('Optimized Map')
optimized_root.mainloop()
最初のマップに線を引いてから、2 番目のマップのさまざまな場所に線を最適化しています。その部分はここには描かれていませんが、両方のウィンドウを同時に開き、ランダムな開始点を 2 番目のウィンドウの最も近い位置に移動させたいと考えています。一度に 1 つずつ実行するとすべて機能しますが、残りの半分はコメント アウトする必要があります。
最初のウィンドウを作成したら、他のウィンドウをトップレベルにする必要があります
tkintersトップレベルページへのこのリンクをチェックしてください。
編集:
2 つのウィンドウを開いて画像を表示できるかどうかを確認するために、コードをいじっていました。これが私が思いついたものです。完璧ではないかもしれませんが、それは始まりであり、正しい方向に向けてくれるはずです。
トップレベルを定義済み関数として配置し、メイン ループの一部として呼び出しました。
注:mainloop()
は 1 回だけ呼び出すことができます。
from tkinter import *
import random
import math
root = Tk()
canvas = Canvas(root)
background_image=PhotoImage(file="map.png")
canvas.pack(fill=BOTH, expand=1) # Stretch canvas to root window size.
image = canvas.create_image(0, 0, anchor=NW, image=background_image)
root.wm_geometry("794x370")
root.title('Map')
def toplevel():
top = Toplevel()
top.title('Optimized Map')
top.wm_geometry("794x370")
optimized_canvas = Canvas(top)
optimized_canvas.pack(fill=BOTH, expand=1)
optimized_image = optimized_canvas.create_image(0, 0, anchor=NW, image=background_image)
toplevel()
root.mainloop()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加