• 【Python合集系列】也许每个人的童年里都有过这样一个梦:“书桌会被推开钻出来一个哆啦A梦”。(源码合集)


    前言

    “生活百般滋味,生活需要笑对”

     如果说人生是一趟漫长的旅程,那么这一路上最珍贵的风景,就是那些陪伴你同行的人。

    哆啦A梦,这个可爱的蓝胖子可能是许多人的童年回忆。小编今天再一次带领大家穿越时空,重

    拾那一段段令人难忘的时光。

    所有文章完整的素材+源码都在👇👇

    粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

     正文

    像绘图规则画笔那些之前的文章都已经说过了哈,这里就不重复了,不会的可以看看之前的文

    章学习下啦!

    一、Turtle基础版《哆啦A梦》

    1)代码展示

    1. import turtle
    2. turtle.speed(5)
    3. turtle.circle(50)
    4. turtle.begin_fill() #画头
    5. turtle.circle(85)
    6. turtle.fillcolor("blue")
    7. turtle.end_fill()
    8. # turtle.penup()
    9. # turtle.goto(0,20)
    10. # turtle.pendown()
    11. # turtle.begin_fill()
    12. # turtle.circle(35)
    13. # turtle.fillcolor("white")
    14. # turtle.end_fill()
    15. turtle.begin_fill() #画脸
    16. turtle.circle(60)
    17. turtle.fillcolor("white")
    18. turtle.end_fill()
    19. turtle.penup()
    20. turtle.goto(-20,95) #化左眼眶
    21. turtle.pendown()
    22. turtle.begin_fill()
    23. turtle.circle(19)
    24. turtle.fillcolor("white")
    25. turtle.end_fill()
    26. turtle.penup() #画右眼眶
    27. turtle.goto(20,95)
    28. turtle.pendown()
    29. turtle.begin_fill()
    30. turtle.circle(19)
    31. turtle.fillcolor("white")
    32. turtle.end_fill()
    33. turtle.penup() #化左眼珠
    34. turtle.goto(-8,111)
    35. turtle.pendown()
    36. turtle.begin_fill()
    37. turtle.fillcolor("black")
    38. turtle.circle(3)
    39. turtle.end_fill()
    40. turtle.penup() #画右眼珠
    41. turtle.goto(8,111)
    42. turtle.pendown()
    43. turtle.begin_fill()
    44. turtle.fillcolor("black")
    45. turtle.circle(3)
    46. turtle.end_fill()
    47. turtle.penup() #画鼻子
    48. turtle.goto(0,85)
    49. turtle.pendown()
    50. turtle.begin_fill()
    51. turtle.circle(10)
    52. turtle.fillcolor("red")
    53. turtle.end_fill()
    54. turtle.goto(0,30) #画竖线
    55. turtle.penup() #左边第一根胡子
    56. turtle.goto(-20,70)
    57. turtle.pendown()
    58. turtle.goto(-45,80)
    59. turtle.penup() #左边第二根胡子
    60. turtle.goto(-20,60)
    61. turtle.pendown()
    62. turtle.goto(-47,60)
    63. turtle.penup() #左边第三根胡子
    64. turtle.goto(-20,50)
    65. turtle.pendown()
    66. turtle.goto(-47,40)
    67. turtle.penup() #右边第三根胡子
    68. turtle.goto(20,50)
    69. turtle.pendown()
    70. turtle.goto(47,40)
    71. turtle.penup() #右边第二根胡子
    72. turtle.goto(20,60)
    73. turtle.pendown()
    74. turtle.goto(47,60)
    75. turtle.penup() #左边第一根胡子
    76. turtle.goto(20,70)
    77. turtle.pendown()
    78. turtle.goto(45,80)
    79. turtle.penup() #右边胳膊1
    80. turtle.goto(50,20)
    81. turtle.pendown()
    82. turtle.goto(100,-10)
    83. turtle.penup() #右边胳膊2
    84. turtle.goto(50,-20)
    85. turtle.pendown()
    86. turtle.goto(80,-40)
    87. turtle.begin_fill()
    88. turtle.goto(100,-10)
    89. turtle.goto(50,20)
    90. turtle.goto(50,-20)
    91. turtle.goto(80,-40)
    92. turtle.fillcolor("yellow")
    93. turtle.end_fill()
    94. turtle.penup() #右手
    95. turtle.goto(100,-50)
    96. turtle.pendown()
    97. turtle.begin_fill()
    98. turtle.circle(20)
    99. turtle.fillcolor("blue")
    100. turtle.end_fill()
    101. turtle.penup() #左边胳膊1
    102. turtle.goto(-50,20)
    103. turtle.pendown()
    104. turtle.goto(-100,-10)
    105. turtle.penup() #左边胳膊2
    106. turtle.goto(-50,-20)
    107. turtle.pendown()
    108. turtle.goto(-80,-40)
    109. turtle.begin_fill()
    110. turtle.goto(-100,-10)
    111. turtle.goto(-50,20)
    112. turtle.goto(-50,-20)
    113. turtle.goto(-80,-40)
    114. turtle.fillcolor("yellow")
    115. turtle.end_fill()
    116. turtle.penup() #左手
    117. turtle.goto(-100,-53)
    118. turtle.pendown()
    119. turtle.begin_fill()
    120. turtle.circle(20)
    121. turtle.fillcolor("blue")
    122. turtle.end_fill()
    123. turtle.penup() #左手
    124. turtle.goto(-50,-20)
    125. turtle.pendown()
    126. turtle.goto(-50,-100)
    127. turtle.penup() #左手
    128. turtle.goto(50,-20)
    129. turtle.pendown()
    130. turtle.goto(50,-100)
    131. turtle.begin_fill()
    132. turtle.penup()
    133. turtle.goto(50,-120)
    134. turtle.pendown()
    135. turtle.circle(10)
    136. turtle.fillcolor("blue")
    137. turtle.end_fill()
    138. turtle.begin_fill()
    139. turtle.goto(20,-120)
    140. turtle.circle(10)
    141. turtle.fillcolor("blue")
    142. turtle.end_fill()
    143. turtle.penup()
    144. turtle.goto(50,-100)
    145. turtle.pendown()
    146. turtle.goto(20,-100)
    147. turtle.penup()
    148. turtle.goto(-50,-120)
    149. turtle.pendown()
    150. turtle.begin_fill()
    151. turtle.circle(10)
    152. turtle.goto(-20,-120)
    153. turtle.circle(10)
    154. turtle.fillcolor("blue")
    155. turtle.end_fill()
    156. turtle.penup()
    157. turtle.goto(-20,-100)
    158. turtle.pendown()
    159. turtle.goto(-50,-100)
    160. turtle.penup()
    161. turtle.goto(-20,-100)
    162. turtle.pendown()
    163. turtle.goto(-20,-85)
    164. turtle.goto(20,-85)
    165. turtle.goto(20,-100)
    166. turtle.penup()
    167. turtle.goto(-50,-20)
    168. turtle.pendown()
    169. turtle.begin_fill()
    170. turtle.goto(50,-20)
    171. turtle.goto(50,-85)
    172. turtle.goto(-50,-85)
    173. turtle.goto(-50,-20)
    174. turtle.fillcolor("blue")
    175. turtle.end_fill()
    176. turtle.penup()
    177. turtle.goto(0,-20) #铃铛
    178. turtle.pendown()
    179. turtle.begin_fill()
    180. turtle.circle(10)
    181. turtle.fillcolor("yellow")
    182. turtle.end_fill()
    183. turtle.penup()
    184. turtle.goto(-10,-10)
    185. turtle.pendown()
    186. turtle.goto(10,-10)
    187. turtle.penup()
    188. turtle.goto(-50,20)
    189. turtle.pendown()
    190. turtle.begin_fill()
    191. turtle.goto(50,20)
    192. turtle.goto(50,0)
    193. turtle.goto(-50,0)
    194. turtle.goto(-50,20)
    195. turtle.fillcolor("red")
    196. turtle.end_fill()
    197. turtle.penup()
    198. turtle.goto(50,0)
    199. turtle.pendown()
    200. turtle.begin_fill()
    201. turtle.circle(10)
    202. turtle.fillcolor("red")
    203. turtle.end_fill()
    204. turtle.penup()
    205. turtle.goto(-50,0)
    206. turtle.pendown()
    207. turtle.begin_fill()
    208. turtle.circle(10)
    209. turtle.fillcolor("red")
    210. turtle.end_fill()
    211. turtle.penup() #内裤
    212. turtle.goto(-50,-70)
    213. turtle.pendown()
    214. turtle.begin_fill()
    215. turtle.goto(50,-70)
    216. turtle.goto(50,-50)
    217. turtle.goto(-50,-50)
    218. turtle.goto(-50,-70)
    219. turtle.fillcolor("red")
    220. turtle.end_fill()
    221. turtle.penup()
    222. turtle.goto(-10,-70)
    223. turtle.pendown()
    224. turtle.begin_fill()
    225. turtle.goto(-10,-85)
    226. turtle.goto(10,-85)
    227. turtle.goto(10,-70)
    228. turtle.goto(-10,-70)
    229. turtle.fillcolor("red")
    230. turtle.end_fill()

    2)效果展示

    二、Turtle进阶版《哆啦A梦》

    Ps小故事:

    很多人不知道,其实哆啦A梦也是谈过恋爱的。他曾经有一个女朋友,对方是一个粉色的猫型机

    器人。在他陷入危险的时候,她救了他。在他受欺负的时候,她挺身而出。

    于是,哆啦A梦陷入爱河……但是,她更喜欢高个子的机器猫,而哆啦A梦就是相貌平平,还有

    点傻气。在哆啦A梦的耳朵被老鼠咬掉之后,她看到了哈哈大笑嘲笑他。

    哆啦A梦十分难过,在海边哭了三天三夜,眼泪让他变成蓝胖子......

    1)代码展示

    1. from turtle import *
    2. # 无轨迹跳跃
    3. def my_goto(x, y):
    4. penup()
    5. goto(x, y)
    6. pendown()
    7. # 眼睛
    8. def eyes():
    9. fillcolor("#ffffff")
    10. begin_fill()
    11. tracer(False)
    12. a = 2.5
    13. for i in range(120):
    14. if 0 <= i < 30 or 60 <= i < 90:
    15. a -= 0.05
    16. lt(3)
    17. fd(a)
    18. else:
    19. a += 0.05
    20. lt(3)
    21. fd(a)
    22. tracer(True)
    23. end_fill()
    24. # 胡须
    25. def beard():
    26. my_goto(-32, 135)
    27. seth(165)
    28. fd(60)
    29. my_goto(-32, 125)
    30. seth(180)
    31. fd(60)
    32. my_goto(-32, 115)
    33. seth(193)
    34. fd(60)
    35. my_goto(37, 135)
    36. seth(15)
    37. fd(60)
    38. my_goto(37, 125)
    39. seth(0)
    40. fd(60)
    41. my_goto(37, 115)
    42. seth(-13)
    43. fd(60)
    44. # 嘴巴
    45. def mouth():
    46. my_goto(5, 148)
    47. seth(270)
    48. fd(100)
    49. seth(0)
    50. circle(120, 50)
    51. seth(230)
    52. circle(-120, 100)
    53. # 围巾
    54. def scarf():
    55. fillcolor('#e70010')
    56. begin_fill()
    57. seth(0)
    58. fd(200)
    59. circle(-5, 90)
    60. fd(10)
    61. circle(-5, 90)
    62. fd(207)
    63. circle(-5, 90)
    64. fd(10)
    65. circle(-5, 90)
    66. end_fill()
    67. # 鼻子
    68. def nose():
    69. my_goto(-10, 158)
    70. seth(315)
    71. fillcolor('#e70010')
    72. begin_fill()
    73. circle(20)
    74. end_fill()
    75. # 黑眼睛
    76. def black_eyes():
    77. seth(0)
    78. my_goto(-20, 195)
    79. fillcolor('#000000')
    80. begin_fill()
    81. circle(13)
    82. end_fill()
    83. pensize(6)
    84. my_goto(20, 205)
    85. seth(75)
    86. circle(-10, 150)
    87. pensize(3)
    88. my_goto(-17, 200)
    89. seth(0)
    90. fillcolor('#ffffff')
    91. begin_fill()
    92. circle(5)
    93. end_fill()
    94. my_goto(0, 0)
    95. # 脸
    96. def face():
    97. fd(183)
    98. lt(45)
    99. fillcolor('#ffffff')
    100. begin_fill()
    101. circle(120, 100)
    102. seth(180)
    103. # print(pos())
    104. fd(121)
    105. pendown()
    106. seth(215)
    107. circle(120, 100)
    108. end_fill()
    109. my_goto(63.56, 218.24)
    110. seth(90)
    111. eyes()
    112. seth(180)
    113. penup()
    114. fd(60)
    115. pendown()
    116. seth(90)
    117. eyes()
    118. penup()
    119. seth(180)
    120. fd(64)
    121. # 头型
    122. def head():
    123. penup()
    124. circle(150, 40)
    125. pendown()
    126. fillcolor('#00a0de')
    127. begin_fill()
    128. circle(150, 280)
    129. end_fill()
    130. # 画哆啦A梦
    131. def Doraemon():
    132. # 头部
    133. head()
    134. # 围脖
    135. scarf()
    136. # 脸
    137. face()
    138. # 红鼻子
    139. nose()
    140. # 嘴巴
    141. mouth()
    142. # 胡须
    143. beard()
    144. # 身体
    145. my_goto(0, 0)
    146. seth(0)
    147. penup()
    148. circle(150, 50)
    149. pendown()
    150. seth(30)
    151. fd(40)
    152. seth(70)
    153. circle(-30, 270)
    154. fillcolor('#00a0de')
    155. begin_fill()
    156. seth(230)
    157. fd(80)
    158. seth(90)
    159. circle(1000, 1)
    160. seth(-89)
    161. circle(-1000, 10)
    162. # print(pos())
    163. seth(180)
    164. fd(70)
    165. seth(90)
    166. circle(30, 180)
    167. seth(180)
    168. fd(70)
    169. # print(pos())
    170. seth(100)
    171. circle(-1000, 9)
    172. seth(-86)
    173. circle(1000, 2)
    174. seth(230)
    175. fd(40)
    176. # print(pos())
    177. circle(-30, 230)
    178. seth(45)
    179. fd(81)
    180. seth(0)
    181. fd(203)
    182. circle(5, 90)
    183. fd(10)
    184. circle(5, 90)
    185. fd(7)
    186. seth(40)
    187. circle(150, 10)
    188. seth(30)
    189. fd(40)
    190. end_fill()
    191. # 左手
    192. seth(70)
    193. fillcolor('#ffffff')
    194. begin_fill()
    195. circle(-30)
    196. end_fill()
    197. # 脚
    198. my_goto(103.74, -182.59)
    199. seth(0)
    200. fillcolor('#ffffff')
    201. begin_fill()
    202. fd(15)
    203. circle(-15, 180)
    204. fd(90)
    205. circle(-15, 180)
    206. fd(10)
    207. end_fill()
    208. my_goto(-96.26, -182.59)
    209. seth(180)
    210. fillcolor('#ffffff')
    211. begin_fill()
    212. fd(15)
    213. circle(15, 180)
    214. fd(90)
    215. circle(15, 180)
    216. fd(10)
    217. end_fill()
    218. # 右手
    219. my_goto(-133.97, -91.81)
    220. seth(50)
    221. fillcolor('#ffffff')
    222. begin_fill()
    223. circle(30)
    224. end_fill()
    225. # 口袋
    226. my_goto(-103.42, 15.09)
    227. seth(0)
    228. fd(38)
    229. seth(230)
    230. begin_fill()
    231. circle(90, 260)
    232. end_fill()
    233. my_goto(5, -40)
    234. seth(0)
    235. fd(70)
    236. seth(-90)
    237. circle(-70, 180)
    238. seth(0)
    239. fd(70)
    240. # 铃铛
    241. my_goto(-103.42, 15.09)
    242. fd(90)
    243. seth(70)
    244. fillcolor('#ffd200')
    245. # print(pos())
    246. begin_fill()
    247. circle(-20)
    248. end_fill()
    249. seth(170)
    250. fillcolor('#ffd200')
    251. begin_fill()
    252. circle(-2, 180)
    253. seth(10)
    254. circle(-100, 22)
    255. circle(-2, 180)
    256. seth(180 - 10)
    257. circle(100, 22)
    258. end_fill()
    259. goto(-13.42, 15.09)
    260. seth(250)
    261. circle(20, 110)
    262. seth(90)
    263. fd(15)
    264. dot(10)
    265. my_goto(0, -150)
    266. # 画眼睛
    267. black_eyes()

    2)效果展示

    三、Tkinter高级版《会动的哆啦A梦》

    我们这里需要用到GUI编程Tkinter界面。

    tkinter库画图基本思路 在使用Python的tkinter库进行界面绘图时,必须要用到的就是设置

    Canvas画布,熟悉tkinter库的小伙伴应该都知道这个函数。 

     在设置好画布之后,就是我们的程序员大画家施展才艺的时候了,在这里呢大灰狼给小伙伴一

    个小小的建议,就是在进行Canvas绘画之前呢。 可以先根据画布的位置设置一个x、y轴的坐标

    中心,这样做的目的呢就是在使用代码作图的时候,方便根据坐标参数进行图形界面的布局设

    置,设置坐标轴的具体代码如下: 

    1. 画虚线 line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4)) #设置横向坐标线 line2 =
    2. w.create_line(200,0,200,400,fill="black",dash=(4,4)) #设置纵向坐标线 1 2 3 设置好坐标轴之后就
    3. 是开始哆啦A梦的大作了。

    其实使用编程语言进行图形的绘制,大多数都是使用规则或不规则的图形组装拼接而成的它就

    好像我们小时候玩积木一样,我们要做的就是将不同的积木(代码绘制的图形)拼装成我们想

    要的图形就可以了 因此图形的绘制问题,最主要的就是什么形状的图形在哪里放置的问题了。 

    1)代码展示

    1. from tkinter import *
    2. import time
    3. import sched
    4. root = Tk()
    5. root.title('动态《哆啦A梦》')
    6. root.geometry('800x600')
    7. w = Canvas(root,width = 400,height = 400,bg = 'white')
    8. w.place(x = 200, y = 100)
    9. l1 = Label(text = '作品名称:', font = ('楷体', 15), fg = 'black').place(x = 200, y = 25) #设置作品名称的Label
    10. l1 = Label(text = '会动的《哆啦A梦》', font = ('楷体', 15), fg = 'black').place(x = 300, y = 25)
    11. l1 = Label(text = '顾木子吖', font = ('楷体', 15), fg = 'black').place(x = 200, y = 60)
    12. l1 = Label(text = '大雄:真拿你没办法!', font = ('楷体', 15), fg = 'black').place(x = 400, y = 60)
    13. #定义1函数清空画布
    14. def cv_white():
    15. w.create_rectangle((0, 0, 500, 500), fill='white') #重新放置新画布
    16. #定义画原始人物的函数
    17. def bt1_age():
    18. #画虚线
    19. line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4)) #设置横向坐标线
    20. line2 = w.create_line(200,0,200,400,fill="black",dash=(4,4)) #设置纵向坐标线
    21. #画圆脸
    22. w.create_oval((125,70,275,220),fill = 'blue')
    23. #画圆脸
    24. w.create_oval((140,100,260,220),fill = 'white')
    25. #画椭圆
    26. w.create_oval((200,80,230,120),fill = 'white')
    27. #画椭圆
    28. w.create_oval((170,80,200,120),fill = 'white')
    29. #画椭圆眼睛
    30. w.create_oval((203,92,215,108),fill = 'black')
    31. #画椭圆眼睛
    32. w.create_oval((185,92,197,108),fill = 'black')
    33. #画椭圆眼睛
    34. w.create_oval((206,95,212,105),fill = 'white')
    35. #画椭圆眼睛
    36. w.create_oval((188,95,194,105),fill = 'white')
    37. #画圆鼻子
    38. w.create_oval((193,115,207,130),fill = 'red')
    39. #嘴
    40. w.create_arc((140,60,260,180),style = 'arc',start = 240,extent = 60)#画弧线
    41. w.create_line(200,130,200,180,fill="black")#竖线
    42. #胡须
    43. w.create_line(215,150,245,150,fill="black")#横线
    44. w.create_line(155,150,185,150,fill="black")#横线
    45. w.create_line(158,127,185,137,fill="black")
    46. w.create_line(215,137,242,127,fill="black")
    47. w.create_line(158,170,185,163,fill="black")
    48. w.create_line(215,163,242,168,fill="black")
    49. #身体
    50. w.create_rectangle(150,200,250,285,fill="blue") #身体正前方
    51. w.create_arc((160,190,240,270),style = 'chord',start = 135,extent = 270,fill = 'white')#画弧线
    52. w.create_line((150,200,250,200),fill="red",width = 10,capstyle = 'round')#圆滑轮廓线
    53. w.create_arc((185,270,215,300),style = 'chord',start = 0,extent = 180,fill = 'white')#画弧线
    54. w.create_line(185,285,215,285,fill="white")
    55. #画脚
    56. #画椭圆
    57. w.create_oval((140,275,190,295),fill = 'white') #左脚
    58. w.create_oval((210,275,260,295),fill = 'white') #右脚
    59. #画手
    60. w.create_polygon([150,205,150,235,120,250,120,235],outline="black",fill="blue")#手臂多边形
    61. w.create_polygon([250,205,250,235,280,250,280,235],outline="black",fill="blue")
    62. w.create_oval((110,230,135,255),fill = 'white') #左圆形手掌
    63. w.create_oval((265,230,290,255),fill = 'white') #右圆形手掌
    64. #画铃铛
    65. w.create_oval((190,200,210,220),fill = 'yellow') #铃铛中心圆
    66. w.create_line((191,210,209,210),fill="black",width = 5,capstyle = 'round')#圆滑轮廓线
    67. w.create_line((192,210,208,210),fill="yellow",width = 3,capstyle = 'round')#圆滑轮廓线
    68. w.create_oval((198,213,202,217),fill = 'red') #中心小红点
    69. w.create_line(200,218,200,220,fill="black")
    70. #画口袋
    71. w.create_arc((170,200,230,260),style = 'chord',start = 180,extent = 180,fill = 'white')#画弧线
    72. #定义函数实现人物眨眼
    73. def bt1_later():
    74. #w = Canvas(root, width=400, height=400, bg='white').place(x = 200, y = 100)
    75. #画虚线
    76. line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4))
    77. line2 = w.create_line(200,0,200,400,fill="black",dash=(4,4))
    78. #画圆脸
    79. w.create_oval((125,70,275,220),fill = 'blue')
    80. #画圆脸
    81. w.create_oval((140,100,260,220),fill = 'white')
    82. #画椭圆
    83. w.create_oval((200,80,230,120),fill = 'white')
    84. #画椭圆
    85. w.create_oval((170,80,200,120),fill = 'white')
    86. #闭左眼
    87. w.create_line((185, 100, 195, 105), fill='black') #闭左眼
    88. w.create_line((185, 105, 195, 105), fill='black') #闭左眼
    89. w.create_line((185, 110, 195, 105), fill='black') #闭左眼
    90. #闭右眼
    91. w.create_line((205, 105, 215, 100), fill='black') #闭右眼
    92. w.create_line((205, 105, 215, 105), fill='black') #闭右眼
    93. w.create_line((205, 105, 215, 110), fill='black') #闭右眼
    94. #画圆鼻子
    95. w.create_oval((193,115,207,130),fill = 'red')
    96. #嘴
    97. w.create_arc((140,60,260,180),style = 'arc',start = 240,extent = 60)#画弧线
    98. w.create_line(200,130,200,180,fill="black")#竖线
    99. #胡须
    100. w.create_line(215,150,245,150,fill="black")#横线
    101. w.create_line(155,150,185,150,fill="black")#横线
    102. w.create_line(158,127,185,137,fill="black")
    103. w.create_line(215,137,242,127,fill="black")
    104. w.create_line(158,170,185,163,fill="black")
    105. w.create_line(215,163,242,168,fill="black")
    106. #身体
    107. w.create_rectangle(150,200,250,285,fill="blue")
    108. w.create_arc((160,190,240,270),style = 'chord',start = 135,extent = 270,fill = 'white')#画弧线
    109. #w.create_rectangle(150,195,250,205,fill='red')capstyle = 'round'
    110. w.create_line((150,200,250,200),fill="red",width = 10,capstyle = 'round')#圆滑轮廓线
    111. w.create_arc((185,270,215,300),style = 'chord',start = 0,extent = 180,fill = 'white')#画弧线
    112. w.create_line(185,285,215,285,fill="white")
    113. #画脚
    114. #画椭圆
    115. w.create_oval((140,275,190,295),fill = 'white')
    116. w.create_oval((210,275,260,295),fill = 'white')
    117. #画手
    118. w.create_polygon([150,205,150,235,120,250,120,235],outline="black",fill="blue")#手臂多边形
    119. w.create_polygon([250,205,250,235,280,250,280,235],outline="black",fill="blue")
    120. w.create_oval((110,230,135,255),fill = 'white')
    121. w.create_oval((265,230,290,255),fill = 'white')
    122. #画铃铛
    123. w.create_oval((190,200,210,220),fill = 'yellow')
    124. w.create_line((191,210,209,210),fill="black",width = 5,capstyle = 'round')#圆滑轮廓线
    125. w.create_line((192,210,208,210),fill="yellow",width = 3,capstyle = 'round')#圆滑轮廓线
    126. w.create_oval((198,213,202,217),fill = 'red')
    127. w.create_line(200,218,200,220,fill="black")
    128. #画口袋
    129. w.create_arc((170,200,230,260),style = 'chord',start = 180,extent = 180,fill = 'white')#画弧线
    130. #time.sleep(2)
    131. #定义函数实现四肢运动
    132. def bt2_later():
    133. #w = Canvas(root, width=400, height=400, bg='white').place(x=200, y=100)
    134. #画虚线
    135. line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4))
    136. line2 = w.create_line(200,0,200,400,fill="black",dash=(4,4))
    137. w.create_rectangle((198,50, 202,70), fill = 'black')
    138. w.create_rectangle((180, 45, 220, 50), fill='yellow')
    139. #画圆脸
    140. w.create_oval((125,70,275,220),fill = 'blue')
    141. #画圆脸
    142. w.create_oval((140,100,260,220),fill = 'white')
    143. #画椭圆
    144. w.create_oval((200,80,230,120),fill = 'white')
    145. #画椭圆
    146. w.create_oval((170,80,200,120),fill = 'white')
    147. #画椭圆眼睛
    148. w.create_oval((203,92,215,108),fill = 'black')
    149. #画椭圆眼睛
    150. w.create_oval((185,92,197,108),fill = 'black')
    151. #画椭圆眼睛
    152. w.create_oval((206,95,212,105),fill = 'white')
    153. #画椭圆眼睛
    154. w.create_oval((188,95,194,105),fill = 'white')
    155. #画圆鼻子
    156. w.create_oval((193,115,207,130),fill = 'red')
    157. #嘴
    158. w.create_arc((140,60,260,180),style = 'arc',start = 240,extent = 60)#画弧线
    159. w.create_rectangle((190,180, 210, 200), fill = 'red') #实现伸舌头动作
    160. w.create_line(200,130,200,180,fill="black")#竖线
    161. #胡须
    162. w.create_line(215,150,245,150,fill="black")#横线
    163. w.create_line(155,150,185,150,fill="black")#横线
    164. w.create_line(158,127,185,137,fill="black")
    165. w.create_line(215,137,242,127,fill="black")
    166. w.create_line(158,170,185,163,fill="black")
    167. w.create_line(215,163,242,168,fill="black")
    168. #身体
    169. #修改参数实现四肢运动
    170. w.create_rectangle(150,200,250,285,fill="blue") #身体正前方
    171. w.create_arc((160,190,240,270),style = 'chord',start = 135,extent = 270,fill = 'white')#画弧线
    172. w.create_line((150,200,250,200),fill="red",width = 10,capstyle = 'round')#圆滑轮廓线
    173. w.create_arc((170,270,230,300),style = 'chord',start = 0,extent = 180,fill = 'white', outline = 'white')#画弧线使双腿张开
    174. w.create_line(185,285,215,285,fill="white")
    175. #画脚
    176. #画椭圆
    177. w.create_oval((130,275,170,295),fill = 'white')
    178. w.create_oval((230,275,270,295),fill = 'white')
    179. #画手
    180. #修改参数实现抬手
    181. w.create_polygon([150,205,150,235,120,220,120,200],outline="black",fill="blue")#手臂多边形
    182. w.create_polygon([250,205,250,235,280,220,280,200],outline="black",fill="blue") #右胳膊
    183. w.create_oval((100,195,125,220),fill = 'white')
    184. w.create_oval((275,193,300,220),fill = 'white')
    185. #画铃铛
    186. w.create_oval((190,200,210,220),fill = 'yellow')
    187. w.create_line((191,210,209,210),fill="black",width = 5,capstyle = 'round')#圆滑轮廓线
    188. w.create_line((192,210,208,210),fill="yellow",width = 3,capstyle = 'round')#圆滑轮廓线
    189. w.create_oval((198,213,202,217),fill = 'red')
    190. w.create_line(200,218,200,220,fill="black")
    191. #画口袋
    192. w.create_arc((170,200,230,260),style = 'chord',start = 180,extent = 180,fill = 'white')#画弧线
    193. #定义函数使人物颜色变化为黄色
    194. def bt3_later():
    195. #更改
    196. #画虚线
    197. line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4))
    198. line2 = w.create_line(200,0,200,400,fill="black",dash=(4,4))
    199. #画圆脸
    200. w.create_oval((125,70,275,220),fill = 'yellow')
    201. #画圆脸
    202. w.create_oval((140,100,260,220),fill = 'white')
    203. #画椭圆
    204. w.create_oval((200,80,230,120),fill = 'white')
    205. #画椭圆
    206. w.create_oval((170,80,200,120),fill = 'white')
    207. # 画椭圆眼睛
    208. w.create_oval((203, 92, 215, 108), fill='black')
    209. # 画椭圆眼睛
    210. w.create_oval((185, 92, 197, 108), fill='black')
    211. # 画椭圆眼睛
    212. w.create_oval((206, 95, 212, 105), fill='white')
    213. # 画椭圆眼睛
    214. w.create_oval((188, 95, 194, 105), fill='white')
    215. #画圆鼻子
    216. w.create_oval((193,115,207,130),fill = 'red')
    217. #嘴
    218. w.create_arc((140,60,260,180),style = 'arc',start = 240,extent = 60)#画弧线
    219. w.create_line(200,130,200,180,fill="black")#竖线
    220. #胡须
    221. w.create_line(215,150,245,150,fill="black")#横线
    222. w.create_line(155,150,185,150,fill="black")#横线
    223. w.create_line(158,127,185,137,fill="black")
    224. w.create_line(215,137,242,127,fill="black")
    225. w.create_line(158,170,185,163,fill="black")
    226. w.create_line(215,163,242,168,fill="black")
    227. #身体
    228. w.create_rectangle(150,200,250,285,fill="yellow")
    229. w.create_arc((160,190,240,270),style = 'chord',start = 135,extent = 270,fill = 'white')#画弧线
    230. #w.create_rectangle(150,195,250,205,fill='red')capstyle = 'round'
    231. w.create_line((150,200,250,200),fill="red",width = 10,capstyle = 'round')#圆滑轮廓线
    232. w.create_arc((185,270,215,300),style = 'chord',start = 0,extent = 180,fill = 'white')#画弧线
    233. w.create_line(185,285,215,285,fill="white")
    234. #画脚
    235. #画椭圆
    236. w.create_oval((140,275,190,295),fill = 'white')
    237. w.create_oval((210,275,260,295),fill = 'white')
    238. #画手
    239. w.create_polygon([150,205,150,235,120,250,120,235],outline="black",fill="yellow")#手臂多边形
    240. w.create_polygon([250,205,250,235,280,250,280,235],outline="black",fill="yellow")
    241. w.create_oval((110,230,135,255),fill = 'white')
    242. w.create_oval((265,230,290,255),fill = 'white')
    243. #画铃铛
    244. w.create_oval((190,200,210,220),fill = 'yellow')
    245. w.create_line((191,210,209,210),fill="black",width = 5,capstyle = 'round')#圆滑轮廓线
    246. w.create_line((192,210,208,210),fill="yellow",width = 3,capstyle = 'round')#圆滑轮廓线
    247. w.create_oval((198,213,202,217),fill = 'red')
    248. w.create_line(200,218,200,220,fill="black")
    249. #画口袋
    250. w.create_arc((170,200,230,260),style = 'chord',start = 180,extent = 180,fill = 'white')#画弧线
    251. s = sched.scheduler(time.time,time.sleep)
    252. #定义递归函数实现重新布局画布
    253. def bt1_while():
    254. cv_white() #重新布局画布
    255. bt1_age() #设置为原始人物
    256. # 递归点击实现眨眼
    257. b1 = Button(root, text='点击眨眼', cursor='hand2', font=('楷体', 15), comman=bt1, bg='#E9F578').place(x=200, y=520)
    258. #眨眼
    259. def bt1():
    260. cv_white() #重新布局画布
    261. bt1_later() #调用眨眼函数
    262. b1 = Button(root, text = '点击眨眼', cursor = 'hand2', font = ('楷体', 15), comman = bt1_while, bg = '#E9F578').place(x = 200, y = 520)
    263. #定义递归函数实现重新布局画布
    264. def bt2_while():
    265. cv_white() #重新布局画布
    266. bt1_age() #定义原始人物
    267. b2 = Button(root, text='运动四肢', cursor='hand2', font=('楷体', 15), comman=bt2, bg='#DC78F5').place(x = 350, y = 520)
    268. #运动四肢
    269. def bt2():
    270. cv_white() #重新布局画布
    271. bt2_later() #调用运动函数
    272. b1 = Button(root, text='运动四肢', cursor='hand2', font=('楷体', 15), comman=bt2_while, bg='#DC78F5').place(x = 350, y = 520)
    273. #定义递归函数实现重新布局画布
    274. def bt3_while():
    275. cv_white() #重新布局画布
    276. bt1_age() #定义原始人物
    277. b3 = Button(root, text='色彩装饰', cursor='hand2', font=('楷体', 15), comman=bt3, bg='#78B4F5').place(x=510, y=520)
    278. #色彩装饰
    279. def bt3():
    280. cv_white() #重新布局画布
    281. bt3_later() #调用颜色改变函数
    282. b3 = Button(root, text = '色彩装饰', cursor = 'hand2', font = ('楷体', 15), comman = bt3_while, bg = '#78B4F5').place(x = 510, y = 520)
    283. bt1_age() #第一次界面打开时实现原始人物布局
    284. #定义点击眨眼按钮
    285. b1 = Button(root, text = '点击眨眼', cursor = 'hand2', font = ('楷体', 15), comman = bt1, bg = '#E9F578').place(x = 200, y = 520)
    286. #定义运动四肢按钮的
    287. b2 = Button(root, text = '运动四肢', cursor = 'hand2', font = ('楷体', 15), comman = bt2, bg = '#DC78F5').place(x = 350, y = 520)
    288. #定义色彩装饰按钮
    289. b3 = Button(root, text = '色彩装饰', cursor = 'hand2', font = ('楷体', 15), comman = bt3, bg = '#78B4F5').place(x = 510, y = 520)
    290. #页面窗口循环
    291. mainloop()

    2)效果展示

    1.1 界面效果

    1.2 眨眼效果

    1.3 色彩效果

    总结

    荧幕里的哆啦A梦还是那么可爱,但荧幕外的我们都已经长大了,成熟了。所以,我们更应该珍惜

    那些陪伴自己同行的人。是他们,让我们的人生有了色彩。好啦!文章到这里就正式写完了哈,部

    分效果没截图, 你们自己拿代码调试哦~

    ✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

    🔨推荐往期文章——

    项目0.1  【Python抢票神器】火车票枪票软件到底靠谱吗?实测—终极攻略。

    项目0.2  【Python实战】WIFI密码小工具,甩万能钥匙十条街,WIFI任意连哦~(附源码)

    项目0.3  【Python实战】再分享一款商品秒杀小工具,我已经把压箱底的宝贝拿出来啦~

    项目0.7  【Python合集】“所有晦暗都留给过往,从遇见你开始,凛冬散尽,星河长明”

    项目0.8  【Turtle系列】史上最强推理动漫角色代码强势上线——柯南控坐不住了~(附代码)

    🎁文章汇总——

    Python文章合集 | (入门到实战、游戏、Turtle、案例等)

    (文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)

  • 相关阅读:
    【华为笔试题汇总】2024-04-24-华为春招笔试题-三语言题解(Python/Java/Cpp)
    java计算机毕业设计学生社团管理与评价系统源码+系统+lw+数据库+调试运行
    国庆共68条评论《乡村振兴战略下传统村落文化旅游旅游设计》许少辉八一新书
    使用Python进行页面开发——CSS
    Nodejs核心模块之Events
    【C#设计模式】单例模式
    csp 202212-2 训练计划
    微信小程序实现拍照并拿到图片对象功能
    数据分析:线性回归
    Pytorch 机器学习专业基础知识+神经网络搭建相关知识
  • 原文地址:https://blog.csdn.net/xy258009/article/details/125812139