精华内容
下载资源
问答
  • 主要介绍了详解python tkinter 图片插入问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • python tkinter 图片插入问题

    千次阅读 2020-09-02 18:32:42
    通过tkinter.PhotoImage插入GIF, PGM/PPM格式的图片。 import tkinter class Gui: def __init__(self): self.gui=tkinter.Tk() # create gui window self.gui.title("Image Display")

    通过tkinter.PhotoImage插入GIF, PGM/PPM格式的图片。

    import tkinter
    
    
    class Gui:
        def __init__(self):    
            self.gui=tkinter.Tk()                                               # create gui window
            self.gui.title("Image Display")                                     # set the title of gui 
            self.gui.geometry("800x600")                                        # set the window size of gui 
    
            img = tkinter.PhotoImage(file="C:/Users/15025/Desktop/bear.gif")    # read image from path
    
            label1=tkinter.Label(self.gui,image=img)                            # create a label to insert this image
            label1.grid()                                                       # set the label in the main window
     
            self.gui.mainloop()                                                 # start mainloop
    
    
    main = Gui()
    

    注意: img = tkinter.PhotoImage(file="C:/Users/15025/Desktop/bear.gif") 中的关键字file不能够省略,否则程序无法正常显示图片。
    对于常用的PNG,与JPG格式的图片,我们需要从python image library(pillow)(PIL)导入ImageImageTk模块来实现,代码如下:

    import tkinter
    from PIL import Image
    from PIL import ImageTk
    
    
    class Gui:
        def __init__(self):    
            self.gui=tkinter.Tk()                               # create gui window
            self.gui.title("Image Display")                     # set the title of gui 
            self.gui.geometry("800x600")                        # set the window size of gui 
    
            load = Image.open("C:/Users/15025/Desktop/1.png")   # open image from path
            img = ImageTk.PhotoImage(load)                      # read opened image
    
            label1=tkinter.Label(self.gui,image=img)            # create a label to insert this image
            label1.grid()                                       # set the label in the main window
     
            self.gui.mainloop()                                 # start mainloop
    
    
    main = Gui()
    

    然而在实际操作中,本人使用的是Anaconda spyder编译器,当我们在读入图像时程序出错后,再次运行程序就会导致image "pyimage1" doesn't exist错误,每次运行一次,数字就会增加1,如:image "pyimage2" doesn't exist遇到此错误,可以直接在IPython控制台界面重启IPython内核即可,或者关闭编译器并重新打开。
    看似我们已经完全实现了图片的插入,但是这种插入方法是存在隐患的,具体代码如下:

    import tkinter as tk
    from PIL import Image
    from PIL import ImageTk
    
    
    class Gui(tk.Tk):
        def __init__(self):
            super().__init__()
            self.title("Figure dynamic show v1.01")
            # self.geometry("1000x800+400+100")
            self.mainGui()
            # self.mainloop()
            
    
        def mainGui(self):
            image = Image.open("C:/Users/15025/Desktop/1.png")
            photo = ImageTk.PhotoImage(image)
            label = tk.Label(self, image=photo)
            label.image = photo     				# in case the image is recycled
            label.grid()
            
    
    main = Gui()
    main.mainloop()
    

    这里我们可以看到相比较上面的程序,我们将Gui界面的图像插入部分分离到另一个函数中,并且直接定义一个tkinter的类,这样做的好处是我们可以直接用self替代创建的主窗口界面,并且我们可以在不同的地方启动主循环,self.mainloop()main.mainloop()任选一个即可。并且因为我们想要插入图片,所以我们可以省略指定Gui界面的尺寸,这样做的好处是会创建一个自适应图片大小的Gui界面。最重要的是我们可以看到多了一行代码label.image = photo,我们将选取的图片photo赋值给了label的属性对象image如果没有这一行代码,图片便无法正常显示,这是因为python会自动回收不使用的对象,所以我们需要使用属性对象进行声明。 上述的程序隐患便是因为缺少了这一行代码。
    至此,tkinter的图片插入可暂时告一段落。
    如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

    展开全文
  • 解决Python Tkinter中Toplevel插入图片无法显示问题解决办法a. 将tk_image变为全局变量缺点:这种办法只能提前知道图片的路径,所以不推荐b. 在preview()函数最后添加 top.mainloop() <推荐> 在主窗口中添加...

    1. 在主窗口中添加一个button,点击预览一张图片,代码如下:
    #! python3
    # _*_ coding:utf-8 _*_
    
    from tkinter import *
    from PIL import Image, ImageTk
    
    
    def preview():
        top = Toplevel()
        top.title('预览')
        top.geometry('+830+400')
    
        image = Image.open('Apple.png')
        tk_image = ImageTk.PhotoImage(image)
    
        Label(top, image=tk_image).pack()
        
    if __name__ == '__main__':
        root = Tk()
    
        Button(root, text='图片预览', command=preview).pack()
    
        root.mainloop()
    
    

    其中Apple.png图片:
    Apple.png
    运行结果如下图:
    运行结果

    解决办法

    从结果中可以看到,子窗口并未显示图片,然后在网上查了半天,有用的只有一句话:离开函数preview()的同时也会销毁局部变量tk_image,所以图片就无法显示。反过来,只要变量tk_image不被销毁,图片就能正常显示,那么解决办法有两种:

    a. 将tk_image变为全局变量

    #! python3
    # _*_ coding:utf-8 _*_
    
    from tkinter import *
    from PIL import Image, ImageTk
    
    
    root = Tk()
    
    image = Image.open('Apple.png')
    tk_image = ImageTk.PhotoImage(image)
    
    def preview():
        top = Toplevel()
        top.title('预览')
        top.geometry('+830+400')
    
        Label(top, image=tk_image).pack()
        
    
    Button(root, text='图片预览', command=preview).pack()
    
    root.mainloop()
    
    

    运行结果如下图:
    在这里插入图片描述

    缺点:这种办法只能提前知道图片的路径,所以不推荐

    b. 在preview()函数最后添加 top.mainloop() <推荐>

    #! python3
    # _*_ coding:utf-8 _*_
    
    from tkinter import *
    from PIL import Image, ImageTk
    
    
    def preview():
        top = Toplevel()
        top.title('预览')
        top.geometry('+830+400')
    
        image = Image.open('Apple.png')
        tk_image = ImageTk.PhotoImage(image)
        Label(top, image=tk_image).pack()
        top.mainloop()     # 添加此行,程序就不会离开这个函数,局部变量tk_image就不会被销毁,子窗口中的图片才能正常显示
        
    if __name__ == '__main__':
        root = Tk()
    
        Button(root, text='图片预览', command=preview).pack()
    
        root.mainloop()
    

    运行结果如下图:
    在这里插入图片描述
    发现这个方法,实属手贱,多加了一行top.mainloop() ,然后运行就可以显示了,惊喜!!

    展开全文
  • 文章目录0 准备工作1 介绍2 基本用法3 放文字4 字体5 颜色6 宽度与高度7 插入图片8 拓展:tkVar绑定(textvariable)其它 0 准备工作 要使用,先导入:import tkinter as tk导入名字叫tkinter的库,并将名字改为tk,...
  • 做一个欢迎界面,如下图。...import tkinter as tk root = tk.Tk() root.geometry('650x450+150+100') root.title('检测J波界面化') root.resizable(False, False) #设置条形框 photo = tk.PhotoImage(...

    做一个欢迎界面,如下图。点击"进入"按钮,就可以进入新界面。

    新界面:

    代码如下:

    import tkinter as tk
    
    root = tk.Tk()
    root.geometry('650x450+150+100')
    root.title('检测J波界面化')
    root.resizable(False, False)
    #设置条形框
    photo = tk.PhotoImage(file="C:\\Users\\happy\\.spyder-py3\\hello\\hello.gif") 
    Lab= tk.Label(root,text='欢迎使用J波检测',compound='center',font = ('微软雅黑',30),image= photo)
    Lab.pack()#设置主界面
       
    def new_window():
        window1 = tk.Toplevel(root)
        window1.geometry('650x450+150+100')
        lab1 = tk.Label(window1,text='hello')
        lab1.pack()
    
    but = tk.Button(root,text='进入',bg = 'green',command=new_window) #传递
    but.pack()
    
    root.mainloop()    
    
    

    注意:

    python默认支持 图片格式为.gif。

    更新一下,在使用这个命令的时候,经常会出现 image "pyimage3" doesn't exist.这类错误。

    看了网上说的,将label的创建窗口改成:

    window_one = tk.Toplevel(root)
    window_one.geometry('800x500')
    window_one.title('test')
    
    photo = tk.PhotoImage(file="C:\\Users\\happy\\.spyder-py3\\hello\\hello.gif") 
    Lab= tk.Label(window_one,text='欢迎使用J波检测',compound='center',\
                             font = ('微软雅黑',30),image= photo)
    Lab.pack()#设置主界面
    

    并不能很好的解决问题,尤其是在主窗口界面需要插入图片的时候。

    https://ask.csdn.net/questions/647588

    这个连接,给了正确的解决问题的方式。

    设置 photo为全局变量即可。

     

    展开全文
  • 【学习笔记】Python tkinter模块中的弹窗模块详解文章引入模块详解模块导入基础定义类型弹窗:信息提醒弹窗(3种)第一种:showinfo 信息提醒弹窗第二种:showerror 信息错误弹窗第三种:showwarning 信息警告弹窗...

    文章引入

    Tkinter模块是Python中内置的一个强大的GUI库,在GUI界面设计的过程中通常会用到弹窗提醒,或是提示信息确认功能,本次我们一起认识的tkinter模块中的messagebox弹窗库正是为了方便我们完成设计目标,接下来将会讲解其使用方法以及使用技巧。

    本教程希望对大家学习Python有一定的帮助,如有问题与纰漏欢迎在评论区留言,我们一起学习一起进步,喜欢的可以点个关注+点赞+关注三连!

    模块详解

    Tkinter中的弹窗库为tkinter.messagebox。它拥有8种类型的弹窗,其中,有3种信息提醒弹窗,5种确认信息弹窗。
    主要区别在于显示内容和效果的不同,且确认信息弹窗可以用来绑定对应返回结果触发不同事件。现在,让我们一起开始学习tkinter弹窗库吧!!

    模块导入

    在较新的Python的tkinter库中,弹窗模块需要单独导入,直接使用会引起程序报错。

    import tkinter as tk  # 导入tkinter模块。为了方便后续讲解,命名为 tk。
    import tkinter.messagebox  # 引入弹窗库,防止解释器弹出报错。
    

    基础定义

    本处我们将开始绘制一个简单的tkinter窗口,并且简单声明部分组件用于我们后续的触发弹出窗口执行以及展示。

    window =tk.Tk()  # 生成主窗口,命名 window
    window.title('Test Window')  # 定义主窗口标题
    window.geometry('300x200')  # 定义主窗口的长宽
    
    def display_messagebox(): # 定义一个响应函数,目前内容为空
    	pass
    	
    tk.Button(window,text='click me',command=display_messagebox).pack()  # 定义一个按钮,用来后续触发弹窗,为了方便直接pack()吧。
    
    window.mainloop() # 主窗口循环运行
    
    

    现在,一个简单的窗口已经定义好啦!
    在这里插入图片描述
    现在,我们开始讲解弹窗吧!正片开始!

    类型弹窗:信息提醒弹窗(3种)

    本处我们将介绍tkinter库里3种的信息提醒弹窗。分别为showinfo,showerror,showwarning三种。接下来分别让我们看一看吧!

    为了方便大家直观了解学习体验,本处将续上先前定义好的窗口基础定义,并写上新的代码。

    第一种:showinfo 信息提醒弹窗

    代码片

    window =tk.Tk() 
    window.title('Test Window') 
    window.geometry('300x200') 
    
    def display_messagebox(): 
    	tk.messagebox.showinfo(title='display_messagebox',
    		message='This is a showinfo_messagebox')  # 消息提醒弹窗,点击确定返回值为 ok
    	
    tk.Button(window,text='click me',command=display_messagebox).pack()
    
    window.mainloop() 
    

    至此,一个showinfo消息提醒弹窗定义完成,当点击确定时,程序返回值为“ok”。

    巧记:弹窗命名通常较为复杂,但如果将其名称分割开,就很好理解其设计师命名与其所设想弹窗的主要作用含义了。因为,真正的文艺男都跑去学理工了(bu shi)
    例如:本类型名称为showinfo弹窗,那么可以将其名称看作成英文show info ==> 显示信息。这样就可以将其理解成用来 显示程序运行信息 弹窗。

    点击:确定,返回 ok

    第二种:showerror 信息错误弹窗

    代码片

    window =tk.Tk() 
    window.title('Test Window') 
    window.geometry('300x200') 
    
    def display_messagebox(): 
    	tk.messagebox.showerror(title='display_messagebox',
    		message='This is a showerror_messagebox')  # 信息错误弹窗,点击确定返回值为 ok
    	
    tk.Button(window,text='click me',command=display_messagebox).pack()  
    
    window.mainloop() 
    

    至此,一个showerror信息错误弹窗定义完成,当点击确定时,程序返回值为“ok”。

    巧记:同上理解,本类型名称为showerror弹窗,那么可以将其名称看作成英文show error==> 显示错误。这样就可以将其理解成用来 显示程序运行错误 弹窗。

    点击:确定,返回 ok

    第三种:showwarning 信息警告弹窗

    代码片

    window =tk.Tk()  
    window.title('Test Window') 
    window.geometry('300x200')  
    
    def display_messagebox(): 
    	tk.messagebox.showwarning(title='display_messagebox',
    		message='This is a showwarning_messagebox')  # 信息警告弹窗,点击确定返回值为 ok
    	
    tk.Button(window,text='click me',command=display_messagebox).pack() 
    
    window.mainloop() 
    

    至此,一个showwarning信息警告弹窗定义完成,当点击确定时,程序返回值为“ok”。

    巧记:同上理解,本类型名称为showwarning弹窗,那么可以将其名称看作成英文show warning==> 显示警告。这样就可以将其理解成用来 显示程序运行警告 弹窗。

    点击:确定,返回 ok

    三种提示弹窗已经讲完了,前面三种弹窗虽然各有个的显示方式,但是他们都有一个特点:选项只有一个,且返回值均为“ok”!
    现在,我们来讲一下确认信息弹窗,看看与前者3个有什么区别呢?

    类型弹窗:确认信息弹窗(5种)

    本处我们将介绍tkinter库里5种的确认信息弹窗,与前面的弹窗内容不同,本处的弹窗内容主要询问用户是否执行下一步,对此,我们可以绑定对应选项的返回值进行内容下一步执行。接下来分别让我们看一看吧!

    为了方便大家直观了解学习体验,本处将续上先前定义好的窗口基础定义,并写上新的代码。

    第一种:是T/否F 确认弹窗

    代码片

    window =tk.Tk() 
    window.title('Test Window')  
    window.geometry('300x200')  
    
    def display_messagebox(): 
    	tk.messagebox.askyesno(title='display_messagebox',
    		message='This is a askyesno_messagebox')  # 信息确认弹窗 是 Ture或 否 False
    	
    tk.Button(window,text='click me',command=display_messagebox).pack() 
    
    window.mainloop() 
    

    至此,一个askyesno信息确认弹窗定义完成,点击 是 返回True, 否 返回False(可对应整型布尔值)

    巧记:同上理解,本类型名称为askyesno弹窗,那么可以将其名称看作成英文ask yes no==> 询问 是 否。这样就可以将其理解成用来 询问用户的是否执行下一步 弹窗。

    通过了解其返回值,我们可以对应的绑定接下来执行的内容。例如:

    mess =tk.messagebox.askyesno(title='display_messagebox',message='This is a askyesno_messagebox')
    if mess ==0:
    	print('Choose not!')
    

    在这里插入图片描述

    第二种:是Y/否N 确认弹窗

    代码片

    window =tk.Tk() 
    window.title('Test Window') 
    window.geometry('300x200')  
    
    def display_messagebox(): 
    	tk.messagebox.askquestion(title='display_messagebox',
    		message='This is a askquestion_messagebox')  # 信息确认弹窗 是 yes或 否 no
    	
    tk.Button(window,text='click me',command=display_messagebox).pack()  
    
    window.mainloop() 
    

    至此,一个askquestion信息确认弹窗定义完成,点击 是 返回yes, 否 返回no

    通过了解其返回值,我们可以对应的绑定接下来执行的内容。方法与本类第一种同理。

    巧记:同上理解,本类型名称为askquestion弹窗,那么可以将其名称看作成英文ask question==> 询问 问题。这样就可以将其理解成用来 询问用户问题 弹窗。

    在这里插入图片描述

    第三种:确认T/ 取消F 确认弹窗

    代码片

    window =tk.Tk()  
    window.title('Test Window')  
    window.geometry('300x200')  
    
    def display_messagebox(): 
    	tk.messagebox.askokcancel(title='display_messagebox',
    		message='This is a askokcancel_messagebox')  # 信息确认弹窗 确定 True或 取消 False
    	
    tk.Button(window,text='click me',command=display_messagebox).pack()  
    
    window.mainloop() # 主窗口循环运行
    

    至此,一个askokcancel信息确认弹窗定义完成,点击 是 返回True, 否 返回False,点击关闭 返回False

    通过了解其返回值,我们可以对应的绑定接下来执行的内容。方法与本类第一种同理。

    巧记:同上理解,本类型名称为askokcancel弹窗,那么可以将其名称看作成英文ask ok cancel==> 询问 确定 取消。这样就可以将其理解成用来 询问用户是否确定执行下一步 弹窗。

    在这里插入图片描述

    第四种:确认Y / 否 F / 取消N 确认弹窗

    代码片

    window =tk.Tk()  
    window.title('Test Window')  
    window.geometry('300x200')  
    
    def display_messagebox(): # 定义一个响应函数
    	tk.messagebox.askyesnocancel(title='display_messagebox',
    		message='This is a askyesnocancel') # 信息确认弹窗 是 True / 否 False 或 取消 None
    	
    tk.Button(window,text='click me',command=display_messagebox).pack()  
    
    window.mainloop() 
    

    至此,一个askyesnocancel信息确认弹窗定义完成,点击 是 返回True, 否 返回False,取消 返回None,点击关闭 返回None

    通过了解其返回值,我们可以对应的绑定接下来执行的内容。方法与本类第一种同理。

    巧记:同上理解,本类型名称为askyesnocancel弹窗,那么可以将其名称看作成英文ask yes no cancel==> 询问 是 否 取消。这样就可以将其理解成用来 询问用户的是否执行下一步 弹窗。

    在这里插入图片描述

    第五种:重试T / 取消F 确认弹窗

    代码片

    window =tk.Tk()  
    window.title('Test Window') 
    window.geometry('300x200')  
    
    def display_messagebox():
    	tk.messagebox.askretrycancel(title='display_messagebox',
    		message='This is a askretrycancel') # 信息确认弹窗 重试 True / 取消 False
    	
    tk.Button(window,text='click me',command=display_messagebox).pack() 
    
    window.mainloop() 
    

    至此,一个askretrycancel信息确认弹窗定义完成,点击 重试 返回True / 取消 返回False,点击关闭 False

    通过了解其返回值,我们可以对应的绑定接下来执行的内容。方法与本类第一种同理。

    巧记:同上理解,本类型名称为askretrycancel弹窗,那么可以将其名称看作成英文ask retry cancel==> 询问 重试 取消。这样就可以将其理解成用来 询问用户是否需要进行重试操作 弹窗。

    在这里插入图片描述

    五种确认信息弹窗已经讲完了,五种确认信息弹窗有自己的显示方式,且返回值每种类型返回值都有些许不同,所以通常在我们使用过程当中,可以使用一部分作为自己常用的类型。

    弹窗的参数详解

    title      弹窗窗口标题;
    message    弹窗所显示的消息;
    default    定义弹窗按钮;
    icon       定义弹窗图标;
    parent     定义弹窗的父组件;
    type       定义弹窗类型;
    

    写在最后的话

    Python的Tkinter库中8大弹窗类型分别都写完了,其主要分为3种信息提醒,5种确认信息的弹窗。每种弹窗都有个自己的特点,返回类型也有些许不同,如何将这些功能灵活运用上我们实际操作当中,这些才是每一种功能弹窗存在的具体意义。

    本文写到这里也接近尾声,如果在本文中存在疑问、错误或纰漏,还希望各位能够在评论区提出一起学习。如果你喜欢我的文章,欢迎关注+点赞+收藏三连支持一下,你的鼓励将是我继续创作的继续动力。

    展开全文
  • Python创建Tkinter窗口

    2021-06-03 10:07:34
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 要求:账号密码输入框,插入图片等 参考链接:https://www.jianshu.com/p/1dc7a917d502 参考链接:https://www.jb51.net/article/165188.htm 参考链接:...
  • python-tkinter简易计算器基础预备(其实你也不需要啦^^)新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容...
  • 读入数据总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义...
  • python中的tkinter包的使用-canvas画布

    千次阅读 2019-05-15 19:38:51
    可能是因为tKinter的版本原因,插入图片时,只能插入gif版本。 窗口界面: 点击按钮: import tkinter as tk window=tk.Tk() window.title('my window') window.geometry('200x100') canvas=tk.Canvas...
  • 学生成绩管理系统欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • Tkinter

    2021-02-01 10:02:44
    Tkinter是什么 Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口...在这里插入图片描述 常用窗口部件及简要说
  • 文章目录官方文档介绍`Tkinter` 的GUI组件关系常用组件汇总列表常见的GUI库第一个`tkinter` `gui` 程序经典的GUi程序写法`Label` 标签`Button` 按钮`entry` 单行文本在这里插入图片描述 ![在这里插入图片描述]...
  • Text组件:比较复杂 from tkinter import * root =Tk() #30字符宽,2行高度 text = Text(root, width=30, height=2) text.pack() text.insert(INSERT, 'I love \n') ... #插入图片 text.image_create
  • 环境 Ubuntu18.04 python 3.6.5 ...在import matplotlib时,出现问题:No ...[在这里插入图片描述](https://img-blog.csdn.net/20180919162030847?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dsd2xvbW8=...
  • 在这里插入图片描述 点击不同菜单,发现URL显示如下 大胸妹:https:/cid = 2 小翘臀:https:/cid = 6 可以看到每个类型图片对应不同的cid值 所以要想抓取不同类型的图片,只需要构造下url 将cid进行参数化,然后传...
  • 原理 通过request获得服务器返回的网址,再使用re正则表达式筛选出图片的地址。...在这里插入代码#encoding=utf-8 import requests import os import re import shutil from PIL import Image import tkinter from ...
  • 在这里插入图片描述 点击不同菜单,发现URL显示如下 大胸妹:https:/cid = 2 小翘臀:https:/cid = 6 可以看到每个类型图片对应不同的cid值 所以要想抓取不同类型的图片,只需要构造下url 将cid进行参数化,然后传...
  • 插入图片: #coding=gbk import tkinter win = tkinter.Tk() photo = tkinter.PhotoImage(file=r"D:\壁纸\游戏\1.gif") label = tkinter.Label(win,text="芜湖",image=photo) label.pack() win.mainloop() 一点小...
  • 我写了个Python程序,创建Toplevel窗口,里面插入图片,出现以下报错: ```python def about(): about=Toplevel() about.title('关于') photo=PhotoImage(file='love.gif') label(about,image=photo)....
  • 经常使用有道云笔记的MarkDown功能来写文章或者记录日志难免会向文章中插入图片,可是有道云笔记的这功能是收费的,因此用python开发一个GUI小工具可以可以帮我把图片上传到七牛cdn,然后我就可以把这图片插入到...

空空如也

空空如也

1 2 3
收藏数 42
精华内容 16
关键字:

pythontkinter插入图片

python 订阅