python的tkinter中如何在frame插入label图片

代码如下所示:运行后,为什么不显示图片,显示的都是白色,求高手解答。而且其他方法也试了,比如讲label改为canvas也不行.
这是主程序:
from tkinter import *
from images import *
root=Tk()
root.geometry("800x600+100+100")
root.title("test")

frame=Frame(root)
frame.place(x=0,y=0)

lab=ImageTest(frame)
lab.display()

root.mainloop()
这是调用的类:
from tkinter import *
class ImageTest:
def __init__(self,root):
self.root=root

def display(self):
IMAGEFILE="pic1.gif"
imag=PhotoImage(file=IMAGEFILE)
label=Label(self.root,image=imag)
label.place(x=0,y=0)

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()

    这将产生以下结果:

     

温馨提示:答案为网友推荐,仅供参考
相似回答