跳转到自己的博客


任务设定

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

网上图片网站: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. python之模块array

    >>> import array#定义了一种序列数据结构 >>> help(array) #创建数组,相当于初始化一个数组,如:d={},k=[]等等 array( ...

  2. log4j2使用入门(二)——与不同日志框架的适配

    在之前博客中已经指出log4j2可以与不同的日志框架进行适配,这里举一些实际应用进行说明: 1.比如我们在项目中使用了log4j2作为日志器,使用了log4j-api2.6.2.jar和log4j-c ...

  3. Libevent源码分析—event_add()

    接下来就是将已经初始化的event注册到libevent的事件链表上,通过event_add()来实现,源码位于event.c中. event_add() 这个函数主要完成了下面几件事: 1.将eve ...

  4. python计算最大公约数和最小公倍数

    a=4 b=2 def gcd(a,b): return a if b==0 else gcd(b,a%b) def lcm(a,b): return a*b//gcd(a,b) print(gcd( ...

  5. memory_target

    ALTER SYSTEM SET MEMORY_TARGET = 33024M; ALTER SYSTEM SET MEMROY_MAX_TARGET= 33024M SCOPE=SPFILE; sh ...

  6. Centos socket TCP代码

    一.功能描述: 能够在Centos中创建TCP socket,实现Client给Server发送消息,Server能够Client发送消息. 二.代码如下: ①client代码: #include & ...

  7. Javascript之BOM与DOM讲解

    一.Javascript组成 JavaScript的实现包括以下3个部分: ECMAScript(核心) 描述了JS的语法和基本对象. 文档对象模型 (DOM) 处理网页内容的方法和接口 浏览器对象模 ...

  8. vue系列之项目打包

    vue完成项目后,如何打包成静态文件,并且用Node调试 打包 1.修改config里面的index.js里面的productionSourceMap为false,默认情况是true(true代表打包 ...

  9. OGNL(对象图导航语言)学习

    一.关于OGNL(Object-Graph Navigation Language),一种可以方便地操作对象属性的开源表达式语言. 特点:  1)支持对象方法调用,形式如:objName.method ...

  10. eclipse中Ruby环境搭建

    用Eclipse学习Watir.Eclipse支持Ruby的插件:RDT(Ruby Development Tools),下载下来试用了一下,感觉还是不错的.第一步:获取RDT,通过以下链接可以获得R ...