广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何解决Python3.8+Tkinter: Button设置image属性不显示的问题
  • 455
分享到

如何解决Python3.8+Tkinter: Button设置image属性不显示的问题

2023-06-20 20:06:50 455人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了如何解决python3.8+Tkinter: Button设置image属性不显示的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  

这篇文章主要介绍了如何解决python3.8+Tkinter: Button设置image属性不显示的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

        Bug如题目所描述。尝试过将按钮的image指向的变量del_icon设置为global全局变量,但是不成功,会提示如“

AttributeError: 'PhotoImage' object has no attribute '_PhotoImage__photo'

”的错误。代码1是导致bug的源头。

        代码1:

#!/bin/env python3from PIL import ImageTkimport tkinter as tk...self.del_button = tk.Button(self.frame, text='DEL', width=20, height=20)self.del_button.config(image=ImageTk.PhotoImage(resize(os.getcwd() + '/delete.png', 0)))self.del_button.bind('<Button-1>', self.delete_selected_image)self.del_button.grid(row=0, column=0, sticky=tk.W)

如何解决Python3.8+Tkinter: Button设置image属性不显示的问题

        结果删除按钮不显示image,按钮上显示空白:

如何解决Python3.8+Tkinter: Button设置image属性不显示的问题

del_button的image不显示

        尝试将del_button的image指向的变量设置为局部变量,即下面所展示的代码2。

        代码2:

#!/bin/env Python3from PIL import ImageTkimport tkinter as tk...self.del_button = tk.Button(self.frame, text='DEL', width=20, height=20)del_icon = ImageTk.PhotoImage(resize(os.getcwd()+'/delete.png', 0))self.del_button.config(image=del_icon)self.del_button.bind('<Button-1>', self.delete_selected_image)self.del_button.grid(row=0, column=0, sticky=tk.W)

如何解决Python3.8+Tkinter: Button设置image属性不显示的问题

        结果删除按钮的image显示正常:

如何解决Python3.8+Tkinter: Button设置image属性不显示的问题

del_button的image显示正常

         笔记

                不明所以的bug。判断潜在原因是:GC的问题。image属性需要指向明确的内存地址。方法返回的临时变量地址调用后即被回收,导致image指向空地址。


        resize()的代码:

#!/bin/env python3from PIL import Image def resize(path):    image = Image.open(path)    raw_width, raw_height = image.size[0], image.size[1]    min_height = 20    min_width = int(raw_width * min_height / raw_height)    return image.resize((min_width, min_height))

感谢你能够认真阅读完这篇文章,希望小编分享的“如何解决Python3.8+Tkinter: Button设置image属性不显示的问题”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: 如何解决Python3.8+Tkinter: Button设置image属性不显示的问题

本文链接: https://www.lsjlt.com/news/299983.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决Python3.8+Tkinter: Button设置image属性不显示的问题
    这篇文章主要介绍了如何解决Python3.8+Tkinter: Button设置image属性不显示的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  ...
    99+
    2023-06-20
  • Python3.8 + Tkinter: Button设置image属性不显示的问题及解决方法
            Bug如题目所描述。尝试过将按钮的image指向的变量del_icon设置为global全局变量,但是不成功,会提示如“ Att...
    99+
    2022-06-02
    Python Tkinter按钮不显示
  • ie6下position:absolute属性不显示问题的解决方法
    本篇内容介绍了“ie6下position:absolute属性不显示问题的解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔...
    99+
    2022-10-19
  • 如何设置背景色解决png图片设置background不显示问题
    本篇内容介绍了“如何设置背景色解决png图片设置background不显示问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅...
    99+
    2022-10-19
  • 如何解决Mysql不能显示中文的问题
    本篇内容主要讲解“如何解决Mysql不能显示中文的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Mysql不能显示中文的问题”吧!Mysql不能显示...
    99+
    2022-10-18
  • 如何解决win10系统不显示文字的问题
    这篇文章主要为大家展示了“如何解决win10系统不显示文字的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决win10系统不显示文字的问题”这篇文章吧。方法一:一、按win+r组合键唤...
    99+
    2023-06-28
  • 网页flash动画不显示的问题如何解决
    这篇文章主要介绍“网页flash动画不显示的问题如何解决”,在日常操作中,相信很多人在网页flash动画不显示的问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”网页flash动画不显示的问题如何解决...
    99+
    2023-06-08
  • 如何解决win8电脑不显示时间的问题
    这篇文章主要介绍了如何解决win8电脑不显示时间的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。点击显示隐藏的图标,自定义。选择启用或关闭系统图标。 启用时钟图...
    99+
    2023-06-28
  • 如何解决layui复选框等内置控件不显示的问题
    小编给大家分享一下如何解决layui复选框等内置控件不显示的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!将复选框的代码原封...
    99+
    2022-10-19
  • 如何解决Vue3+Element-plus在input框使用属性方式添加图标不显示的问题
    这篇文章主要介绍了如何解决Vue3+Element-plus在input框使用属性方式添加图标不显示的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一...
    99+
    2022-10-19
  • win10右键个性化和显示设置打不开如何解决
    这篇文章主要介绍“win10右键个性化和显示设置打不开如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win10右键个性化和显示设置打不开如何解决”文章能帮助大家解决问题。首先在联网的状态下,...
    99+
    2023-07-01
  • 如何彻底解决Python中matplotlib不显示中文的问题详解(显示方框)
    目录前言方法一:方法二:总结前言 在很长一段时间里用Python绘图,matplotlib都不能很好的显示中文,起初是认为我的pycharm里的设置问题,但是发现同样的问题在spyd...
    99+
    2022-11-10
  • 如何解决Nuxt v-bind绑定img src不显示的问题
    这篇文章将为大家详细讲解有关如何解决Nuxt v-bind绑定img src不显示的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题:使用v-for循环, :src...
    99+
    2022-10-19
  • 如何解决cmd显示node不是内部命令的问题
    这篇文章主要介绍了如何解决cmd显示node不是内部命令的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 c...
    99+
    2022-10-19
  • 如何解决select选项过长无法显示设置overflow:hidden在IE9中不起作用的问题
    本篇内容介绍了“如何解决select选项过长无法显示设置overflow:hidden在IE9中不起作用的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如...
    99+
    2022-10-19
  • ubuntu连接网络的图标不显示的问题如何解决
    本篇内容介绍了“ubuntu连接网络的图标不显示的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ubuntu网络连接图标不显示,...
    99+
    2023-06-13
  • 如何解决pycharm中用matplotlib画图不显示中文的问题
    前言: 其实很简单!举一个简单的例子! 这是一个简单的显示时刻的温度折线图: from matplotlib import pyplot as plt, font_manager i...
    99+
    2022-11-11
  • 如何解决bootstrap-select动态加载数据不显示的问题
    小编给大家分享一下如何解决bootstrap-select动态加载数据不显示的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2022-10-19
  • 如何解决Win7任务栏电源图标不显示的问题
    带着笔记本电脑出门虽然方便,但总是担心用到一半会没电,所以需要不时的关注一下剩余电量。偶然一次发现Win7任务栏右下角通知区域里的电池状态图标不见了,完全不知道电量用到什么程度,太没安全感。可是打开Win7通知区域图标管...
    99+
    2023-05-26
    Win7 电源 任务 图标 问题
  • 如何解决页面在360浏览器下显示不正常的兼容性问题
    这篇文章主要介绍“如何解决页面在360浏览器下显示不正常的兼容性问题”,在日常操作中,相信很多人在如何解决页面在360浏览器下显示不正常的兼容性问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作