python - 如何在两个带有画布的单独窗口中打印文本?
问题描述
我想在一个窗口中打印文本 AAAAAAA 并在另一个窗口中打印 BBBBBBB 但是我如何使用画布来做到这一点?
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()
如果您在函数中创建画布,则将其分配给局部变量,您必须将其返回并分配给外部/全局变量才能使用它。
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()
推荐阅读
- flutter - Flutter : 视频播放器
- python - Retrieving JSON Title, URL from Pygooglenews feedParser
- c++ - 头文件中的私有向量:如何获取和设置值
- 3d - 使用 (height/2.0)/tan(PI/6) 作为相机的 Z 位置的目的是什么?
- javascript - 检测到重复图像后生成新的随机图像
- windows - 从 Windows 的命令行调用 shell 函数?
- sql - SQL Server 故障转移问题
- reactjs - 太多的重新渲染。React 限制了渲染的数量以防止无限循环。反应原生
- python - 如何在 seaborn 图中“圈出”一个点(以便稍后在文本中引用它)?
- flutter - 找不到名为“版本”的命令 - Flutter