python - Python tkinter 不能使用“pyimage4”作为iconphoto
问题描述
在我的程序中,我有一个主窗口,我想在该主窗口初始化之前添加一个加载窗口,但我无法为此加载窗口添加图标。那里有我的代码:
from tkinter import *
import tkinter.ttk as ttk
root = Tk()
root.withdraw()
root.title('BINGO')
class Loader():
def __init__(self):
self.loader = Tk()
try:
img = PhotoImage(r'C:\menu-16.png')
self.loader.tk.call('wm', 'iconphoto', self.loader._w, img)
except:
self.loader.attributes('-toolwindow', True)
self.loader.title('BINGO')
self.frame = LabelFrame(self.loader)
self.frame.pack(fill=BOTH, pady=2,padx=2)
self.label = Label(self.frame, text='Loading...', font=('segoe', 12))
self.label.pack(side=TOP, pady='4')
self.progress_bar = ttk.Progressbar(self.frame, mode='determinate', length=464)
self.progress_bar.pack(side=TOP, fill='x', pady='20')
self.loader.update()
def bar(self, value):
self.progress_bar['value'] += value
self.loader.update()
def destroy(self):
self.loader.destroy()
loader = Loader()
loader.bar(5)
class Main_Window():
def __init__(self):
self.mframe = LabelFrame(root)
pass
loader.bar(100)
root.tk.call('wm', 'iconphoto', root._w, PhotoImage(r'C:\menu-16.png'))
loader.destroy()
Application = Main_Window()
root.mainloop()
在这种情况下,“loader”作为没有图标的工具窗口运行,但主“Main_window”有它。如何解决这个问题?
解决方案
我找到了我的问题的解决方案:
我不得不变成 self.loader = Tk()
self.loader = Toplevel()
推荐阅读
- apache - 以哈希模式重定向到 404 页面
- ios - Flutter ios cloud_firestore给出错误
- python-3.x - 将扫描的pdf转换为可读的pdf
- kotlin - 如何启动一个在挂起函数调用者返回后继续运行的协程?
- mysql - 我的 5 分钟间隔查询适用于 5.5.6 版本,但不适用于 5.5.7
- javascript - 更新表格而不刷新页面
- javascript - 面对 IE 中的 DataTables 速度加载问题
- angular - 如何通过角度代理修复调用外部域不断返回index.html
- mysql - 如何使控制台主题永久变暗
- django - “如何在 django 应用程序中实现在 .pdf 和 .word 文档中搜索文本的功能”