繁体   English   中英

Tkinter画布中的垂直文本

[英]Vertical text in Tkinter Canvas

有没有办法在Tkinter库中绘制垂直文本? (建议使用Python)

textID = w1.create_text(5, 5, anchor="nw")
w1.itemconfig(textID, text = "This is some text")

由于人们已经链接到此答案,因此我将添加一个更新。

在tcl 8.6中,create_text方法具有angle选项 您可以使用Tkinter.TclVersion检查您的tcl版本。 如果您的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中制作竖排文字的任何方法,但是您可以只制作想要的竖排文字的图像

  1. 屏幕截图您想要的文本并裁剪
  2. 屏幕截图背景色并裁剪
  3. 用文字或Powerpoint或其他内容将文字放在背景上
  4. 拍摄另一个屏幕截图并裁剪
  5. 将屏幕截图涂上油漆
  6. 将绘画文件保存在程序所在的文件夹中
  7. 在线将绘画文件转换为gif: http : //image.online-convert.com/convert-to-gif
  8. 使用以下代码将图像放入程序中

vertical_text = PhotoImage(file = "<your file name>.gif") canvas.create_image(x, y, image = vertical_text)

这是我正在制作的程序中的tkinter窗口的屏幕截图,可让您修改单词 例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM