这可不是一个普通的hello world,先上图:
写代码时间:
先导入模块:
import turtle as t
import random as r
再声明一些常用的变量、设置:
t.colormode(255)
t.bgcolor(0, 0, 0)
t.tracer(False)
x = t.getcanvas().winfo_width() / 2
y = t.getcanvas().winfo_height() / 2
t.setup(1200, 800)
flag = False
然后是写字:
def language(a, b):
lan = ['你好世界', 'Hello world', 'مرحبا العالم', 'สวัสดีโลก', 'Hallo Welt', 'Здравствуй мир', 'Bonjour, monde.',
'안녕 세계', 'こんにちは、世界', 'Ciao mondo', 'Hej, verden.', 'Hallo, wereld.', 'ສະບາຍດີໂລກ', 'Hej, världen.',
'Nyob zoo ntiaj teb', 'Saluton mondo', 'Καὶ οὐ γράφει.', 'Bonjou mond', 'Hello warld', 'world']
if flag:
t.pu()
t.goto(a, b)
t.pd()
else:
t.pu()
t.goto(1200, 800)
t.pd()
t.pencolor(r.randint(0, 255), r.randint(0, 255), r.randint(0, 255))
t.write(r.choice(lan), font=('楷体', r.randint(5, 30), 'normal'))
这可是我在百度翻译上翻译的20种语言。
再调用:
def draw_text(event):
language(event.x - x - 120, y - event.y)
因为要点一下屏幕才可以画,所以:
def change(x, y):
global flag
flag = not flag
然后是清屏:
def clear():
t.clear()
再监听鼠标事件,调用draw_text函数并实现空格清屏:
t.onscreenclick(change, btn=1)
cv = t.getcanvas()
cv.bind('<Motion>', draw_text)
t.onkeypress(clear, 'space')
t.listen()
然后是最关键的一步:
t.update()
t.done()
整体:
"""
Time:2021.8.14 6:22:19
Author:@Solomon-python
"""
import turtle as t
import random as r
t.colormode(255)
t.bgcolor(0, 0, 0)
t.tracer(False)
x = t.getcanvas().winfo_width() / 2
y = t.getcanvas().winfo_height() / 2
t.setup(1200, 800)
flag = False
def language(a, b):
lan = ['你好世界', 'Hello world', 'مرحبا العالم', 'สวัสดีโลก', 'Hallo Welt', 'Здравствуй мир', 'Bonjour, monde.',
'안녕 세계', 'こんにちは、世界', 'Ciao mondo', 'Hej, verden.', 'Hallo, wereld.', 'ສະບາຍດີໂລກ', 'Hej, världen.',
'Nyob zoo ntiaj teb', 'Saluton mondo', 'Καὶ οὐ γράφει.', 'Bonjou mond', 'Hello warld', 'world']
if flag:
t.pu()
t.goto(a, b)
t.pd()
else:
t.pu()
t.goto(1200, 800)
t.pd()
t.pencolor(r.randint(0, 255), r.randint(0, 255), r.randint(0, 255))
t.write(r.choice(lan), font=('楷体', r.randint(5, 30), 'normal'))
def draw_text(event):
language(event.x - x - 120, y - event.y)
def change(x, y):
global flag
flag = not flag
def clear():
t.clear()
t.onscreenclick(change, btn=1)
cv = t.getcanvas()
cv.bind('<Motion>', draw_text)
t.onkeypress(clear, 'space')
t.listen()
t.update()
t.done()
对了,你们觉得python里哪个gui工具包最好用呢?