创新互联Python教程:如何用pythontkinter插入显示图片?

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

创新互联建站服务项目包括扎囊网站建设、扎囊网站制作、扎囊网页制作以及扎囊网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,扎囊网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到扎囊省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

关于Tkinter:

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

代码演示

# 配置,放在这里,那么主窗口的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一样使用,可谓功能强大,因此小伙伴们一定要好好学习哈~

文章标题:创新互联Python教程:如何用pythontkinter插入显示图片?
本文链接:http://www.shufengxianlan.com/qtweb/news25/140925.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联