书名几乎说明了一切.我正在try 为一个小项目创建一个Windows错误对话框.

我使用了this33856/how-to-add-an-image-in-tkinter">this和this来创建我当前的代码.目标操作系统是Windows,但我更喜欢跨平台的解决方案.

这是我当前的代码:

## imports
import base64
import os
import tempfile
import tkinter as tk
import zlib
from tkinter import *
from tkinter import ttk

## variables
ICON = zlib.decompress(base64.b64decode('eJxjYGAEQgEBBiDJwZDBy'
    'sAgxsDAoAHEQCEGBQaIOAg4sDIgACMUj4JRMApGwQgF/ykEAFXxQRc='))
## main program
# window setup
_, ICON_PATH = tempfile.mkstemp()
with open(ICON_PATH, 'wb') as icon_file:
    icon_file.write(ICON)
root = Tk()
frm = ttk.Frame(root, padding=10)
frm.grid()
# window content
ttk.Label(frm, text="Windows was not installed properly. Please reinstall Windows.\nError 4 (Windows error 096)").grid(column=1, row=0)
ttk.Button(frm, text="Ok").grid(column=5, row=3)
# window config
root.geometry("+500+500")
root.title("Microsoft Windows")
root.resizable(width=False, height=False)
root.iconbitmap(default=ICON_PATH)

widget = ttk.Label(root)
widget.errorImage = tk.PhotoImage(file="""assets\err.png""")
widget["image"] = widget.errorImage

When run, it creates the Tk window with text, but no image. Output:

推荐答案

如何将图片添加到tkinter?

  • 你错过了这widget.grid()root.mainloop()
  • widget = ttk.Label(root)应该是widget = ttk.Label(frm)

Python相关问答推荐

使用pandas MultiIndex进行不连续 Select

判断两极中N(N 2)列水平是否相等

根据多列和一些条件创建新列

使用Python OpenCV的文本检测分割

除了Python之外,可以替代bare?

使用Python C API重新启动Python解释器

按 struct 值对Polars列表[struct[]]排序

如何知道标志是否由用户传递或具有默认值?

"Discord机器人中缺少所需的位置参数ctx

Python:在类对象内的字典中更改所有键的索引,而不是仅更改一个键

将特定列信息移动到当前行下的新行

如何使用Python将工作表从一个Excel工作簿复制粘贴到另一个工作簿?

从numpy数组和参数创建收件箱

优化pytorch函数以消除for循环

在Mac上安装ipython

SQLAlchemy Like ALL ORM analog

Django—cte给出:QuerySet对象没有属性with_cte''''

CommandeError:模块numba没有属性generated_jit''''

Django admin Csrf令牌未设置

Gunicorn无法启动Flask应用,因为无法将应用解析为属性名或函数调用.'"'' "