跳转到自己的博客


任务设定

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

网上图片网站: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内核驱动--mmap设备方法【原创】

    mmap系统调用(功能) void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset) 内存映射函数mma ...

  2. mysql系列一、mysql数据库规范

    一. 表设计 库名.表名.字段名必须使用小写字母,“_”分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 表必须使用InnoDB存储引擎. 表必须 ...

  3. java多线程系列五、并发容器

    一.ConcurrentHashMap 1.为什么要使用ConcurrentHashMap 在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,HashMap在 ...

  4. CentOS----kdump failed

    启动提示:Starting kdump [failed] kdump 是一种先进的基于 kexec 的内核崩溃转储机制.当系统崩溃时,kdump 使用 kexec 启动到第二个内核.第二个内核通常叫做 ...

  5. centos7 部署 docker compose

    =============================================== 2019/4/10_第1次修改                       ccb_warlock == ...

  6. linux unzip 中文乱码解决方法

    引自:https://blog.csdn.net/abyjun/article/details/48344379 unzip -O CP936 xxx.zip (用GBK, GB18030也可以)

  7. 用javascript判断当前是安卓平台还是ios平台

    通常判断运行环境都是通过navigator.userAgent if (/android/gi.test(navigator.userAgent)){ // todo : android} if (/ ...

  8. webpack 4.0.0-beta.0 新特性介绍

    webpack 可以看做是模块打包机.它做的事情是:分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式 ...

  9. php计算给定时间之前的函数

    这里给定一个时间,计算这个时间在多久前,比如:2天前,1年前 function prettyDate($date){ $time = strtotime($date); $now = time(); ...

  10. CSS3:HSL和HSLA

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...