如何在python turtle.write()方法中颠倒文本?

时间:2017-12-09 14:36:26

标签: python turtle-graphics

现在我正在编写一个程序来随机从52张扑克牌中取出4张扑克牌,我必须通过python turtle模块绘制这些扑克牌。现在我的问题是:因为扑克中有一个颠倒的数字,just like this(the bottom right corner number)

首先,我想使用此代码生成数字:

c0 = data['content'][0]
isinstance(c0, dict)
# True

我想用 import turtle as do def generate_digital(number, x, y, start_angle, size): ''' this function generate '2-10' parameters: number: this is number you want to write x and y: this is the pen's initial location start_angle: the pen's initial direction size: the number's size ''' do.penup() do.goto(x, y) do.pensize(30) do.setheading(start_angle) do.write(number, font=("Arial", size, "normal")) 设置数字的角度,但我发现它没有用!我可以得到一个5,但我不能使用do.write()方法得到颠倒的......

现在,我自己能想到的唯一方法就是使用这个

do.settheading()

代码'绘制'一个数字,通过设置起始角度,我可以画出'一个倒数第二,但它会带来很多麻烦,不是吗?

有人能告诉我如何写()一个颠倒的数字吗? 非常感谢!!!

1 个答案:

答案 0 :(得分:1)

turtle无法正常显示文字。

但是turtle建立在tkinter模块和Canvas小部件的基础之上,该小部件有方法

create_text(x, y, text=.., angle=..., ...)

工作示例

import turtle

c = turtle.getcanvas()

item_id = c.create_text(0, 0, text='5', angle=180, font=("Arial", 30, "normal"))

turtle.mainloop() # run tkinter event loop

稍后您可以使用item_id

更改角度
c.itemconfig(item_id, angle=45)

Effbot.org:tkinter中的Canvas

顺便说一句:我发现只有最新的Tk 8.6 tkinter有angle=的信息。
您可以查看版本

import tkinter 

print(tkinter.TkVersion)