有没有办法在 Tkinter 库中绘制垂直文本?(推荐使用 Python)
textID = w1.create_text(5, 5, anchor="nw")
w1.itemconfig(textID, text = "This is some text")
由于人们与此答案相关联,因此我将添加更新。
在 tcl 8.6 中, create_text 方法有一个angle
option。你可以检查你的 tcl 版本Tkinter.TclVersion
。如果您有 8.6 或更高版本,则可以使用:
textID = w1.create_text(5, 5, anchor="nw", angle=90)
如果你问是否tkinter.Canvas.create_text
有这样的东西:
textID = w1.create_text(5, 5, anchor="nw", orient=tkinter.VERTICAL)
那么答案是否定的。该create_text
方法只能创建横向文本。
但是,您可以使用str.join
创建垂直文本:
from tkinter import Tk, Canvas
root = Tk()
canvas = Canvas()
canvas.grid()
canvas.create_text((10, 5), text="\n".join("This is some text"), anchor="nw")
root.mainloop()
例子:
虽然这可能不如简单地在create_text
方法上设置一个选项那么优雅,但它确实有效。
我不知道在 tkinter 中制作垂直文本的任何方法,但你可以制作你想要的垂直文本的图像
vertical_text = PhotoImage(file = "<your file name>.gif")
canvas.create_image(x, y, image = vertical_text)
这是我正在制作的程序中 tkinter 窗口的屏幕截图,可让您修改单词