跳转到自己的博客


任务设定

任务:从网上找到一张图片,然后将其显示在标签上?

网上图片网站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.jpg

效果

解决方案

第一步骤:利用简单的爬虫代码,将网上的图片下载下来,以备使用
第二步骤:建立图形界面窗口,将获取的图片放到标签上,完成上图效果

Code分析

```
# 使用到的相关库
import urllib.request
from PIL import Image, ImageTk
import tkinter as tk
# -------------获取图片----------
url = "http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.jpg" # 图片链接
require = urllib.request.Request(url)
response = urllib.request.urlopen(require)
photo = response.read()
# 将图片photo写入到picture.jpg中的代码如下:
with open(r'picture.jpg', 'wb') as f:
f.write(photo)
f.close()

-------------放置图片----------

root = tk.Tk()

strx = "从互联网上获取图片放置到图形界面窗口上"

root.title(strx)

pic = Image.open('picture.jpg')

pic = ImageTk.PhotoImage(pic)

create_label = tk.Label(root, text=strx, image=pic, compound=tk.TOP).pack()

root.mainloop()

效果

![](https://img2018.cnblogs.com/blog/1372901/201810/1372901-20181020115122652-113729215.jpg)

<h1 style="background-color:#7FFFD4;">反思与感想</h1>

尝试了多种格式的照片,发现tkinter支持`.gif, .png, .bmp`等少数格式,`.jpg`不支持,所以需要如下处理方案

from PIL import Image, ImageTk

pic = Image.open('picture.jpg')

pic = ImageTk.PhotoImage(pic)


<p style="color:red;">生活中要敢于想与做,从一个知识点做起,分享出来,时间久了,就会汇聚大海。</p>

Python图形编程探索系列-04-网上图片与标签组件的结合的更多相关文章

  1. Python图形编程探索系列-08-再次认识标签

    标签的各种属性 代码展示: import tkinter as tk root = tk.Tk() root.geometry = '500x300' label1 = tk.Label(root, ...

  2. Python图形编程探索系列-09-tkinter与matplotlib结合案例

    案例1 案例来自于:https://bbs.csdn.net/topics/390326088 代码示例: import matplotlib matplotlib.use('TkAgg') from ...

  3. Python图形编程探索系列-07-程序登录界面设计

    设计任务 初步设计程序登录界面,详细分析设计步骤. 程序详细分析 基本框架设计 import tkinter as tk import tkinter.messagebox root = tk.Tk( ...

  4. Python图形编程探索系列-03-标签组件(Label)

    跳转到自己的博客 tkinter.Label介绍 什么是标签? 通俗的将就相当于word的功能,能够进行显示不可修改的文字.图片或者图文混排. 直观体会一下 图1 背景图构成:内容区(黑色),填充区( ...

  5. Python图形编程探索系列-06-按钮批量生产函数

    设计任务 初步设计一个批量生产按钮的函数,根据需要的按钮数量,自动生成多少按钮. 函数设计 import tkinter as tk # 导入tkinter库 root = tk.Tk() # 建立程 ...

  6. Python图形编程探索系列-05-用控制变量构建对话程序

    跳转到自己的博客 控制变量 变量 符号 意义 默认值 1 var = tk.BooleanVar() 布尔型 0 2 var = tk.StringVar() 字符串控制变量 空字符串 3 var = ...

  7. Python图形编程探索系列-02-框架设计

    跳转到我的博客 设计任务 在主窗口root中放置三个容器用于容纳组件,容器采用框架设计. 代码初步设计 import tkinter as tk root = tk.Tk() root.geometr ...

  8. Python图形编程探索系列-01-初级任务

    设计任务 设计一个主窗口,在其中添加三个标签和三个按钮,当点击按钮时,对标签的内容和色彩进行修改. 代码初步设计 import tkinter as tk root = tk.Tk() def f1( ...

  9. 用 eric6 与 PyQt5 实现python的极速GUI编程(系列04)---- PyQt5自带教程:地址簿(address book)

    [引子] 在PyQt5自带教程中,地址簿(address book)程序没有完全实现界面与业务逻辑分离. 本文我打算用eric6+PyQt5对其进行改写,以实现界面与逻辑完全分离. [概览] 1.界面 ...

随机推荐

  1. Linux版本Membase无法写入default bucket的问题分析

    最近项目中使用的membase发现出了点问题,生产环境中读写各种数据都正常,可是新搭建的开发环境下,只有default bucket写不进去数据,调用store总是返回FALSE,配置文件也是一模一样 ...

  2. 使用linux计划任务自动拉起停止的通达OA服务apache和mysql服务

    概述: 数据库或web服务器瞬时并发过大时,可能面临宕机的危险,用类似开门狗的程序自动监控程序是否正常运行,在服务停止时自动启动服务,可临时解决该问题 监控apache服务的脚本: 每两分钟执行脚本检 ...

  3. SpringMVC(1):Web MVC简介

    原文出处: 张开涛 Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问 2.  Web服务器(如Tomcat)接 ...

  4. react之自定义迷你redux的实现

    export function createStore(reducer){ let currentState={} let currentListeners=[] function getState( ...

  5. CentOS切换为iptables防火墙并进行相关配置

    CentOS切换为iptables防火墙 切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务. 1.关闭firewall: service firewalld s ...

  6. v-bind绑定属性样式——class的三种绑定方式

    1.布尔值的绑定方式 <div id="demo"> <span v-bind:class="{‘class-a‘:isA ,‘class-b‘:isB ...

  7. poj3728 倍增法lca 好题!

    lca的好题!网上用st表和离线解的比较多,用树上倍增也是可以做的 不知道错在哪里,等刷完了这个专题再回来看 题解链接https://blog.csdn.net/Sd_Invol/article/de ...

  8. 委托Func和Action【转】

    平时我们如果要用到委托一般都是先声明一个委托类型,比如: private delegate string Say(); string说明适用于这个委托的方法的返回类型是string类型,委托名Say后 ...

  9. Lucene.Net简介

    说明:Lucene.Net 只是一个全文检索开发包 .查询数据的时候从Lucene.Net查询数据.可以看做是一个提供了全文检索功能的数据库. 注意:只能搜索文本字符串. 重要概念:分词,基于词库的分 ...

  10. 步步为营-22-xml登录

    说明:通过xml完成用户登录信息的判断 1 搭建UI页面 2 新建一个student类,类中包含以上属性 public class Student { public int ID { get; set ...