精华内容
下载资源
问答
  • 直接先放代码 from tkinter import ttk import tkinter as tk from PIL import Image, ImageTk global img0 photo = Image.open('none.jpg') ...img1=ttk.Label(tab1,text="人脸照片:", image=...

    直接先放代码

    from tkinter import ttk
    import tkinter as tk
    from PIL import Image, ImageTk
    
    global img0
    photo = Image.open('none.jpg')
    img0=ImageTk.PhotoImage(photo)
    img1=ttk.Label(tab1,text="人脸照片:", image=img0)
    img11 = ttk.Button(tab1, text=' 选择照片',command = lambda : pick_photo(tab1))
    img1.grid(row=4,column=2)
    img11.grid(row=5,column=2)

    需要注意的两点:

    ①必须声明为全局变量才能够显示

    ②command中的函数本身不能传参数,所以用lambda,就可以传递参数,这里我传递参数的目的是调用函数后可以动态选择要显示的图片,把frame作为参数传出去,曾经尝试在别的函数修改全局变量但是又会出现不显示图片的问题

    展开全文
  • tkinter显示图片

    2021-02-06 11:23:23
    tkinter显示图片 直接显示 import tkinter root = tkinter.Tk() img_gif = tkinter.PhotoImage(file = '1dpmw.gif') label_img = tkinter.Label(root, image = img_gif) label_img.pack() root.mainloop() 但是上面...

    tkinter显示图片

    直接显示

    import tkinter
    root = tkinter.Tk()
    img_gif = tkinter.PhotoImage(file = '1dpmw.gif')
    label_img = tkinter.Label(root, image = img_gif)
    label_img.pack()
    root.mainloop()
    

    但是上面的有一个问题,就是对于png这类图片显示不成功,会发现是空白,所以不推荐使用,因为只支持.gif一种形式。

    用PIL加载显示

    import tkinter
    from PIL import Image, ImageTk
    root = tkinter.Tk()
    img_open = Image.open("2021-02-06_105510.png")
    img_png = ImageTk.PhotoImage(img_open)
    label_img = tkinter.Label(root, image = img_png)
    label_img.pack()
    root.mainloop()
    

    注意和上面的区别,其实就是图片加载的方式由原来的img_gif = tkinter.PhotoImage(file = '1dpmw.gif') 变为现在的:

    img_open = Image.open("2021-02-06_105510.png")
    img_png = ImageTk.PhotoImage(img_open)

    因为Image里面可以帮你解码,所以可以直接显示png。

    上面显示是通过把图片放在label上面实现的,你也可以放到button或者canvas上面都是可以的。

    图片显示空白

    但你可能发现你在使用的时候,你的显示是空白,这里是因为你在开发的时候上面的一段话会写在一个函数里面封装起来,这个时候导致img_open是局部的,所以函数运行结束就被回收了,所以显示的是空白,解决方案也很简单,将这个变量声明为全局即可。

    import tkinter
    from PIL import Image, ImageTk
    root = tkinter.Tk()
    img_png =None
    def func():
    	img_open = Image.open("2021-02-06_105510.png")
    	global img_png
    	img_png = ImageTk.PhotoImage(img_open)
    	label_img = tkinter.Label(root, image = img_png)
    	label_img.pack()
    func()
    root.mainloop()
    
    展开全文
  • 匿名用户1级2017-11-21 回答Python GUI - Tkinter LabelFrame: 在一个labelframe一个简单的容器构件。其主要目的是作为一个间隔或复杂的窗口布局容器在一个labelframe一个简单的容器构件。其主要目的是作为一个间隔...

    匿名用户

    1级

    2017-11-21 回答

    Python GUI - Tkinter LabelFrame: 在一个labelframe一个简单的容器构件。其主要目的是作为一个间隔或复杂的窗口布局容器

    在一个labelframe一个简单的容器构件。其主要目的是作为一个间隔或复杂的窗口布局容器.

    该部件有一帧的功能,加上能够显示标签.

    语法:

    这里是一个简单的语法来创建这个widget:

    w = LabelFrame( master, option, ... )

    参数:

    master: 这代表了父窗口.

    options: 下面是这个小工具最常用的选项列表。这些选项可以作为键 - 值对以逗号分隔.

    Option

    Description

    bg    The normal background color displayed behind the label and indicator.

    bd    The size of the border around the indicator. Default is 2 pixels.

    cursor    If you set this option to a cursor name (arrow, dot etc.), the mouse cursor will change to that pattern when it is over the checkbutton.

    font    The vertical dimension of the new frame.

    height    The vertical dimension of the new frame.

    labelAnchor    Specifies where to place the label.

    highlightbackground    Color of the focus highlight when the frame does not have focus.

    highlightcolor    Color shown in the focus highlight when the frame has the focus.

    highlightthickness    Thickness of the focus highlight.

    relief    With the default value, relief=FLAT, the checkbutton does not stand out from its background. You may set this option to any of the other styles

    text    Specifies a string to be displayed inside the widget.

    width    Specifies the desired width for the window.

    例子:

    自己尝试下面的例子。下面是如何创建3窗格部件:

    from Tkinter import *

    root = Tk()

    labelframe = LabelFrame(root, text="This is a LabelFrame")

    labelframe.pack(fill="both", expand="yes")

    left = Label(labelframe, text="Inside the LabelFrame")

    left.pack()

    root.mainloop()

    这将产生以下结果:

    展开全文
  • 已获原作者授权.... 在 Tkinter 中, Label 控件显示文字和图片. Label 通常被用来展示信息, 而非与用户交互. (译者注: Label 也可以绑定点击等事件, 只是通常不这么).程序员的教程, 怎么能少了 ...

    已获原作者授权. 原系列地址: Python Tkinter

    Hello Tkinter Label

    下面我们将以 Tkinter 中最简单的控件: Label 控件, 开始这个系列的教程. 在 Tkinter 中, Label 控件用以显示文字和图片. Label 通常被用来展示信息, 而非与用户交互. (译者注: Label 也可以绑定点击等事件, 只是通常不这么用).

    程序员的教程, 怎么能少了 Hello World . 我们尊重这个传统, 但我们不说 Hello World, 让我们来秀出 Hello Tkinter 吧.

    下面的 Python 脚本用 Tkinter 创建了一个带有 "Hello Tkinter" 字样的窗口. 你可以在 Python 的命令行解释器中逐行输入下面的脚本, 也可以将之存入一份文件, 比如 hello.py .

    from Tkinter import *

    # if you are working under Python 3, comment the previous line and comment out the following line

    #from tkinter import *

    root = Tk()

    w = Label(root, text="Hello Tkinter!")

    w.pack()

    root.mainloop()

    运行例子

    如果你将上述脚本存入文件 hello.py, 那么可以这样启动它:

    $ python hello.py

    如果你在 Linux Gnome 环境下运行上述命令, 会显示如下窗口:

    在 Windows 系统下是这个样子:

    逐行解释

    在 Tkinter 编程中, 一定少不了 Tkinter 中的 Tk 类. 上例中我们通过星号 ( * ) 来将 Tkinter 中的所有模块引入命名空间.

    from Tkinter import *

    要初始化一个 Tkinter 程序, 我们需要一个 root 控件, 即根窗口, 它包括标题栏和其他一些由本地窗口系统提供的装饰. root 控件需要在创建其他控件前创建, 并且一个窗口只能有一个 root 控件.

    root = Tk()

    这之后的一行代码, 我们创建了一个 Label 控件. 它的第一个参数是其父控件, 在我们这个例子里就是上面的 root 控件. 因此这个 Label 控件是上面的 root 控件的一个子控件. 这个 Label 控件的第二个参数指示其所要显示的文字.

    w = Label(root, text="Hello Tkinter!")

    pack() 方法指示这个 Label 的大小为正好可以包裹其中的文字.

    w.pack()

    当我们启动了 Tkinter 的消息循环 (event loop) 后, 窗口就会被显示出来:

    root.mainloop()

    上面的脚本会一直运行在这个消息队列中, 直到这个窗口被关闭.

    在 Label 中显示图片

    上面我们已经提到, Label 既可以显示文字, 也可以显示图片. 下面的例子中我们将创建两个 Label, 一个用以显示文字, 一个用以显示图片:

    from Tkinter import *

    root = Tk()

    logo = PhotoImage(file="../images/python_logo_small.gif")

    w1 = Label(root, image=logo).pack(side="right")

    explanation = """At present, only GIF and PPM/PGM

    formats are supported, but an interface

    exists to allow additional image file

    formats to be added easily."""

    w2 = Label(root,

    justify=LEFT,

    padx = 10,

    text=explanation).pack(side="left")

    root.mainloop()

    上面的脚本运行后, 在 Ubuntu 下显示如下:

    justify 参数指示文字的对齐方向, 可选值为 RIGHT, CENTER, LEFT, 默认为 Center.

    padx 参数指定水平方向的边距, 默认为1像素.

    pady 参数指定竖直方向的边距, 默认为1像素.

    上面的例子中, 如果去掉 justify 和 padx 参数, 那么上面的窗口会显示为这个样子:

    想让文字显示在图片上面? 好办! 我们只需要在一个 Label 控件中同时使用图片和文字的相关选项即可. 默认情况下, 如果为一个 Label 控件指定了图片, 那么这个 Label

    就会只显示图片. 要让图片和文字一同显示, 就要使用 compound 选项. 设置其为 CENTER 将使文字显示在图片上方:

    from Tkinter import *

    root = Tk()

    logo = PhotoImage(file="../images/python_logo_small.gif")

    explanation = """At present, only GIF and PPM/PGM

    formats are supported, but an interface

    exists to allow additional image file

    formats to be added easily."""

    w = Label(root,

    compound = CENTER,

    text=explanation,

    image=logo).pack(side="right")

    root.mainloop()

    我们可以让图片显示在左侧, 文字显示在右侧, 让文字向左对齐, 并在左右两侧空出 10 像素的边距:

    w = Label(root,

    justify=LEFT,

    compound = LEFT,

    padx = 10,

    text=explanation,

    image=logo).pack(side="right")

    设置 compound 为 BOTTOM, LEFT, RIGHT, TOP, 图片就会显示在相应的位置上.

    颜色和字体

    诸如 Label, Text, Canvas 等控件, 支持指定字体, 通过 font 属性设置即可实现. 需要特别注意的是字体不是平台独立的.

    fg (foreground) 属性可以指定字体的颜色, bg 属性可以指定控件的背景颜色.

    from Tkinter import *

    root = Tk()

    Label(root,

    text="Red Text in Times Font",

    fg = "red",

    font = "Times").pack()

    Label(root,

    text="Green Text in Helvetica Font",

    fg = "light green",

    bg = "dark green",

    font = "Helvetica 16 bold italic").pack()

    Label(root,

    text="Blue Text in Verdana bold",

    fg = "blue",

    bg = "yellow",

    font = "Verdana 10 bold").pack()

    root.mainloop()

    上例脚本运行后显示如下:

    改变控件内容

    在下面的例子中, Label 中的文字将被自动加1, 直到按钮被点击时停止计数:

    import Tkinter as tk

    counter = 0

    def counter_label(label):

    def count():

    global counter

    counter += 1

    label.config(text=str(counter))

    label.after(1000, count)

    count()

    root = tk.Tk()

    root.title("Counting Seconds")

    label = tk.Label(root, fg="green")

    label.pack()

    counter_label(label)

    button = tk.Button(root, text='Stop', width=25, command=root.destroy)

    button.pack()

    root.mainloop()

    上面的脚本运行后窗口显示如下:

    译者水平有限, 如有疏漏, 欢迎指正.

    展开全文
  • 之前已经写了一个简单的控制台版本爬虫+抽卡程序,可以自己过瘾地抽王者荣耀皮肤。花果山美男子:python自制王者荣耀抽卡程序​zhuanlan.zhihu.com今天...信息输出用tkinter的Text控件实现,图片显示用Label控件...
  • 目前我四个图片显示,就copy了四次,怎么直接for? ```python image_size=(150,150) fm1=tk.Frame(window) files=['candy.jpg','mosaic.jpg','rain-princess.jpg','udnie.jpg'] img1 = Image.open(f'...
  • Label 控件用于创建一个显示方块,可以在这个显示方块内放置文字或图片。 1.语法和属性: w = Label( master, option, ... ) # master: 框架的父容器。 # options: 可选项,即该标签的可设置的属性。这些选项...
  • 调用python自带的GUI制作库 一开始想用Tkinter制作GUI的,网上说是python自带的,结果输入: ...开始的TK的Label功能来显示图片,需要等到调用mainloop()后才会显示图片,没找到可以刷新图像的方法;后来采用Can
  • Tkinter(二) | 点击按钮显示图片

    千次阅读 2020-10-07 21:45:26
    from tkinter import * from PIL import Image, ImageTk root = Tk() root.title('按钮点击加载图片') def show(): img = Image.open('1.png') # 打开图片 photo = ImageTk.PhotoImage(img) # PIL模块的...
  • [Tkinter 教程01] 入门: Label 控件

    万次阅读 多人点赞 2017-01-24 00:44:50
    本文译自: http://www.python-course.eu/tkinter_labels.php Hello Tkinter Label ... 在 Tkinter 中, Label 控件显示文字或图片, 常用来展示信息, 而非与用户交互. 按照传统, 一个教程应始于 Hello
  • Tkinter 中, Label 控件显示文字和图片. Label 通常被用来展示信息, 而非与用户交互. (注: Label 也可以绑定点击等事件, 只是通常不这么). import tkinter as tk # 创建窗口对象 root = tk.Tk() #...
  • python编表白程序的方法:1、创建GUI窗口,实现代码的调用。2、编写点击触发函数,实现表白程序。具体代码如下:from tkinter import * from tkinter import messagebox def closeWindow(): messagebox.showinfo...
  • 已获原作者授权. 原系列地址: Python Tkinter Hello Tkinter Label 下面我们将以 Tkinter 中... 在 Tkinter 中, Label 控件显示文字和图片. Label 通常被用来展示信息, 而非与用户交互. (译者注: Label 也可以...
  • tkinter播gif图片动画

    千次阅读 2019-09-25 05:54:35
    问:python的内置模块tkinter做图形界面,在label控件中如何实现gif图片的动态显示? (ps:的是gif的图片,但是不会动) 答:可以使用定时器播放gif的每一帧。 from tkinter import * import time import os ...
  • 之前做的一个项目中也是用label显示图片,height参数可以使用 tk.Label(self.root, image=self.p[i] ,width = 200,height = 200 ).place(x =x0-20,y=y0+50) 但是最近做的这个却提示没有这个参数,所以就无法更改...
  • 之前已经写了一个简单的控制台版本爬虫+抽卡程序,可以自己过瘾地抽王者荣耀皮肤。花果山美男子:python自制王者荣耀抽卡程序​zhuanlan.zhihu.com今天...信息输出用tkinter的Text控件实现,图片显示用Label控件...
  • 前两天一直在跟文本和图片打交道,今天我们更进一步,做一个能够播放本地视频文件的播放器。...只想把视频播放出来的话,也可以用label显示图片,然后调用.after()方法更新,但是这种方法至少要把更新间隔设为10m...
  • [Tkinter 教程03] Button 控件

    千次阅读 2017-03-07 00:22:23
    Label 控件类似, 按钮可以展示图片或者文字. 不同的是, Label 控件可以指定字体, Button 控件只能使用单一的字体. Button 上的文字可以多行显示. 可以将一个 Python 函数或方法绑定到一个 Butto
  • Tkinter笔记(1.3-1.4)

    2019-03-10 10:24:14
    1.3 Label标签 Label控件可以用于显示文本或图像。Labels可以包含多行文本,但是只能一种字体。对于文本,可以指定每行的宽度,或者在文本中适当的位置插入换行...在Label显示图片 例子中涉及bitmap属性,作用...
  • 练习用label部件显示图片和文本的代码: import tkinter as tk filename = 'D:\\images\\1 (10).jpg' root = tk.Tk() photo = tk.PhotoImage(file=filename) label1 = tk.Label(root,text='学习pyth
  • 具体问题一个测试程序来说明如下: ``` import tkinter as tk from tkinter import messagebox def newwin(title='test',geometry='300x300'): def ShowMessage(): tk.messagebox.showinfo(input.get())...
  • Python中tk界面图片显示、隐藏、动态更换 ...程序的图片用Label实现 #-*- coding: utf-8 -*- from tkinter import * import random import datetime num = 0 lastdata = '' def solution(): frm = Tk
  • python tkinter编程的时候 先定义了一个数组List 然后有 root=tk.Tk() ............ img=drawImage(List) tk.label(root, image=img).pack() tk.Button(root, text=List, command=lambda:changeList(List)).pack()...
  • python做GUI界面的时候,想要把图形...然后想要显示图片,又写了这么一行代码: bm = PhotoImage(file=‘C:/Users/Administrator/Desktop/2.gif’) label = Label(root,image=bm).pack() 好像只能识别png格式 ...
  • Python的GUI编程(二)Button(按钮)

    万次阅读 多人点赞 2018-01-15 15:47:55
    Button 控件是一种标准 Tkinter 控件, 用来展现不同样式的按钮. Button 控件被以和用户交互, 比如按钮被鼠标点击后, 某种操作被启动. 和 Label 控件类似, 按钮可以展示图片或者文字. 不同的是, Label 控件可以...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

tkinter用label显示图片