我可以同时打开两个 Tkinter Windows 吗?
Can I open two Tkinter Windows at the same time?
是否可以同时打开2个windows?
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()
我在第一张地图上画线,然后将它们优化到第二张地图上的不同位置。该部分未在此处显示,但我想同时打开两个 windows,并让随机起点朝向第二个 window 中它们最近的位置。如果我一次 运行 一切正常,但我必须注释掉另一半。
完成第一个 window 后,另一个 window 需要成为顶级
查看此 link 到 tkinters Toplevel 页面。
编辑:
我正在研究您的代码,看看是否可以设法让 2 windows 打开并显示图像。这是我想出的。它可能并不完美,但它是一个开始,应该会为您指明正确的方向。
我将顶层作为定义的函数放入,然后将其作为主循环的一部分调用。
注意:mainloop()
只能调用一次。
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()
是否可以同时打开2个windows?
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()
我在第一张地图上画线,然后将它们优化到第二张地图上的不同位置。该部分未在此处显示,但我想同时打开两个 windows,并让随机起点朝向第二个 window 中它们最近的位置。如果我一次 运行 一切正常,但我必须注释掉另一半。
完成第一个 window 后,另一个 window 需要成为顶级
查看此 link 到 tkinters Toplevel 页面。
编辑:
我正在研究您的代码,看看是否可以设法让 2 windows 打开并显示图像。这是我想出的。它可能并不完美,但它是一个开始,应该会为您指明正确的方向。
我将顶层作为定义的函数放入,然后将其作为主循环的一部分调用。
注意:mainloop()
只能调用一次。
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()