• 技术文章 >Python技术 >Python基础教程

    如何用python tkinter插入显示图片?

    2020-11-09 17:04:23原创3178
    有时候小编觉得python的功能真的是强大,居然可以插入图片,今天小编就这个内容,给大家讲解下关于插入图片内容,想必很多小伙伴都很感兴趣吧~那就一起来看下吧~

    关于Tkinter:

    Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 。

    代码演示

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    # 配置,放在这里,那么主窗口的2个按钮就先显示出来

    # 要打开的图像

    image1 = "open.gif"  #注意tkinter中需要gif格式的图片,默认目录下

    image2 = "welcome.gif" #也可以单独设置目录或者路径

      

    #python3的特性,一行依次赋值

    x0, y0=50.0,50.0    # 初始坐标

    x,y=[x0],[y0]       # 列表将包含所有的x和y坐标.到目前为止,他们只包含初始坐标

    vx,vy=1.0,0.5       # 每次移动的速度或距离

    # 边界,这里要考虑到图片的大小,要预留一半的长和宽

    x_min,y_min,x_max,y_max=46.0,46.0,754.0,554.0

    range_min,range_max=1,2000     # 运行步数

      

    # 创建500次的x和y坐标

    for t in range(range_min, range_max):

     # 新坐标等于旧坐标加每次移动的距离

        new_x = x[t - 1] + vx

        new_y = y[t - 1] + vy

     # 如果已经越过边界,反转方向

        if new_x >= x_max or new_x <= x_min:

            vx = vx * -1.0

        if new_y >= y_max or new_y <= y_min:

            vy = vy * -1.0

     # 添加新的值到列表

        x.append(new_x)

        y.append(new_y)

      

    canvas = Canvas(root1,width=800, height=600, bg='white')

    canvas.grid(row = 2,column=0)#调整位置

      

    photo1 = PhotoImage(file=image1)

    photo2 = PhotoImage(file=image2) #add

      

    width1 = photo1.width()

    height1 = photo1.height()

    image_x = (width1) / 2.0 

    image_y = (height1) / 2.0 

      

    # 每次的移动

    for t in range(range_min, range_max):

        canvas.create_image(x[t], y[t], image=photo1, tag="pic")  #tag是这张图片的标签,这里需要

        canvas.update()

        # 暂停多少秒,然后删除图像

        time.sleep(0.001) #1秒,缓慢;如果0.025s等于每秒40帧;0.001s很快

        canvas.delete("pic") #因为这里需要删除它

      

    #等上面动画结束后,再出现这个图片 

    canvas.create_image(400, 300, image=photo2)  #这里不需要tag

    canvas.update()

      

    #主窗口循环走起

    root1.mainloop()

    内容非常简单,有需要的小伙伴可以直接套用代码,是不是感觉非常的神奇呢,我们对于python了解很多内容,唯独接触比较少的就是它居然可以像HTML一样使用,可谓功能强大,因此小伙伴们一定要好好学习哈~

    专题推荐:pythontkinter插入显示图片
    上一篇:怎么用python写简单的游戏脚本? 下一篇:如何快速掌握python选择排序算法?

    相关文章推荐

    • python真正实现多线程要怎么做?• python常见的排序算法有哪些?• python插入排序是算法吗?怎么用?• 怎么用python写简单的游戏脚本?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网