1
头图

马上要过年了,用 Python 写一副春联&福字送给大家,本文我们主要用到的 Python 库为 tkinter,下面一起来看一下具体实现。

首先,我们创建一个画布,代码实现如下:

root=Tk()
root.title('新年快乐')
canvas=Canvas(root,width=500,height=460,bg='lightsalmon')

看一下效果:

我们接着写上联,主要代码实现如下:

for i in range(0,451):
    canvas.create_rectangle(10,3,76,i,outline='#FFA07A',fill='red')
    root.update()
    
for i in range(len(str_1)):
    canvas.create_text(40,str_2[i],text=str_1[i],fill='#FFD700',font=('楷体',30,'bold'))
    root.update()
    time.sleep(0.5)    

看一下效果:

再接着写横批,主要代码实现如下:

for i in range(150,350):
    canvas.create_rectangle(150,3,i,62,outline='#FFA07A',fill='red')
    root.update()

for i in range(len(str_4)):
    canvas.create_text(str_5[i],33,text=str_4[i],fill='#FFD700',font=('楷体',30,'bold'))
    root.update()
    time.sleep(0.5)

看一下效果:

再接着写下联,主要代码实现如下:

for i in range(0,451):
    canvas.create_rectangle(424,3,490,i,outline='#FFA07A',fill='red')
    root.update()

for i in range(len(str_3)):
    canvas.create_text(454,str_2[i],text=str_3[i],fill='#FFD700',font=('楷体',30,'bold'))
    root.update()
    time.sleep(0.5)

看一下效果:

我们再接着画一扇简单的门,主要代码实现如下:

for i in range(167,251):
    canvas.create_rectangle(167,130,i,441,outline='#FFA07A',fill='red')
    root.update()

for i in range(250,334):
    canvas.create_rectangle(250,130,i,441,outline='#FFA07A',fill='red')
    root.update()

看一下效果:

感觉门上有点光秃秃的,这样我们再接着在门上写两个福字,代码实现如下:

canvas.create_text(210,280,fill='#FFD700',text='福',font=('楷体',45,'bold'))
canvas.create_text(290,280,fill='#FFD700',text='福',font=('楷体',45,'bold'))

看一下最终效果:

源码在公号Python小二后台回复春联获取~


Python小二
180 声望414 粉丝