如何在python tkinter中将图像放在Button上?

时间:2019-06-07 12:47:07

标签: python tkinter

这是我在Tkinter中的代码。当我在tkinter UI中选择网格大小时,尝试显示带有图像的按钮。我的问题是,当我将图像放入按钮内时,它不会显示它。列表grid2已经具有使用随机播放方法的图像。 任何帮助表示赞赏。

function securee($wha){
    return trim(strip_tags($wha));
}   


function check_lenght_of_name($n) {
    return substr_count($n, " ") == 1 && strlen(substr($n, 0 , strpos($n, " "))) >= 3 && strlen(substr($n, strpos($n, " "), strlen($n))) >= 4;

我试图最小化代码。如果需要更多代码,我将对其进行编辑。

1 个答案:

答案 0 :(得分:0)

您的代码无法运行。这使调试变得困难。但是我可以看到您没有保存对放在按钮中的图像的引用。

当图像在函数内部创建时,在函数退出时将被垃圾回收。通过使用按钮小部件保存对图像的引用来解决此问题。检查以下示例:

import tkinter as tk

def create_button():
    photo = tk.PhotoImage(file="images/gilliam.png")
    image_button = tk.Button(window, image=photo)
    image_button.image = photo  # Save a reference to the image
    image_button.pack()

window = tk.Tk()

create_button()

window.mainloop()