如何在两个单独的 windows 和 canvas 中打印文本?
How to print text in two separate windows with canvas in it?
我想在一个 window 中打印文本 AAAAAAA,在另一个 window 中打印文本 BBBBBBB,但是如何使用 canvas 来实现?
from tkinter import*
root = Tk()
canvas = Canvas(root)
canvas.pack(fill=BOTH, expand=1) # Stretch canvas to root window size.
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)
toplevel()
l0 = Label(canvas, text="AAAAAAA", font= "calibri 32 bold",bg="white" )
canvas.create_window(0,70, window=l0, anchor=NW)
l1 = Label(canvas, text="BBBBBBB", font= "calibri 32 bold",bg="white" )
canvas.create_window(0,70, window=l1, anchor=NW)
root.mainloop()
将 optimized_canvas
与第二个标签一起使用
import tkinter as tk
# ---
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack(fill='both', expand=True)
l0 = tk.Label(canvas, text="AAAAAAA")
canvas.create_window(0, 70, window=l0, anchor='nw')
# ---
top = tk.Toplevel(root)
optimized_canvas = tk.Canvas(top)
optimized_canvas.pack(fill='both', expand=True)
l1 = tk.Label(optimized_canvas, text="BBBBBBB")
optimized_canvas.create_window(0, 70, window=l1, anchor='nw')
# ---
root.mainloop()
如果您在函数中创建 canvas,那么它会被分配给局部变量,您必须 return 它并分配给 external/global 变量才能使用它。
import tkinter as tk
# --- functions ---
def create_top(root):
top = tk.Toplevel(root)
local_canvas = tk.Canvas(top)
local_canvas.pack(fill='both', expand=True)
return local_canvas
# ---
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack(fill='both', expand=True)
l0 = tk.Label(canvas, text="AAAAAAA")
canvas.create_window(0, 70, window=l0, anchor='nw')
# ---
optimized_canvas = create_top(root)
l1 = tk.Label(optimized_canvas, text="BBBBBBB")
optimized_canvas.create_window(0, 70, window=l1, anchor='nw')
# ---
root.mainloop()
我想在一个 window 中打印文本 AAAAAAA,在另一个 window 中打印文本 BBBBBBB,但是如何使用 canvas 来实现?
from tkinter import*
root = Tk()
canvas = Canvas(root)
canvas.pack(fill=BOTH, expand=1) # Stretch canvas to root window size.
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)
toplevel()
l0 = Label(canvas, text="AAAAAAA", font= "calibri 32 bold",bg="white" )
canvas.create_window(0,70, window=l0, anchor=NW)
l1 = Label(canvas, text="BBBBBBB", font= "calibri 32 bold",bg="white" )
canvas.create_window(0,70, window=l1, anchor=NW)
root.mainloop()
将 optimized_canvas
与第二个标签一起使用
import tkinter as tk
# ---
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack(fill='both', expand=True)
l0 = tk.Label(canvas, text="AAAAAAA")
canvas.create_window(0, 70, window=l0, anchor='nw')
# ---
top = tk.Toplevel(root)
optimized_canvas = tk.Canvas(top)
optimized_canvas.pack(fill='both', expand=True)
l1 = tk.Label(optimized_canvas, text="BBBBBBB")
optimized_canvas.create_window(0, 70, window=l1, anchor='nw')
# ---
root.mainloop()
如果您在函数中创建 canvas,那么它会被分配给局部变量,您必须 return 它并分配给 external/global 变量才能使用它。
import tkinter as tk
# --- functions ---
def create_top(root):
top = tk.Toplevel(root)
local_canvas = tk.Canvas(top)
local_canvas.pack(fill='both', expand=True)
return local_canvas
# ---
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack(fill='both', expand=True)
l0 = tk.Label(canvas, text="AAAAAAA")
canvas.create_window(0, 70, window=l0, anchor='nw')
# ---
optimized_canvas = create_top(root)
l1 = tk.Label(optimized_canvas, text="BBBBBBB")
optimized_canvas.create_window(0, 70, window=l1, anchor='nw')
# ---
root.mainloop()