我正在使用 python Tkinter 在 Sublime 上创建 Arduino 接口。
我需要在图像上显示文本。位于屏幕中间 (512, 200)。我不知道如何使用这个库
import Tkinter as tk
from Tkinter import *
root = tk.Tk()
root.geometry("1024x574")
root.title("window")
photo = tk.PhotoImage(file= r"hi.gif")
cv = tk.Canvas()
cv.pack(side='top', fill='both', expand='yes')
cv.create_image(0, 0, image=photo, anchor='nw')
text=['my text']
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
您需要创建一个 tk 标签小部件并向其中添加文本。那么你需要使用 tk label 选项compound=。
直接取自http://effbot.org/tkinterbook/label.htm:
" compound=
控制如何在标签中组合文本和图像。默认情况下,如果给出图像或位图,则绘制图像或位图而不是文本。如果此选项设置为 CENTER,则文本绘制在图像之上如果此选项设置为 BOTTOM、LEFT、RIGHT 或 TOP 之一,则图像将绘制在文本旁边(使用 BOTTOM 将图像绘制在文本下方等)。默认值为 NONE。"
以下是一个最小但有效的示例,可以完成您的要求:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
image = Image.open('hi.gif')
tk_image = ImageTk.PhotoImage(image)
label = tk.Label(root, text='Some Plain Text', image=tk_image, compound='center')
label.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13886 次 |
| 最近记录: |