我正在使用tkinter创建一个简单的窗口。当我运行 python mainwindow.py
时,会短暂弹出一个小窗口,并在主窗口之前关闭(主要位于窗口的左上角)屏幕)。这是演示它的 GIF:
这是我使用的代码(mainwindow.py
):
import tkinter as tk
def center(win, width, height):
win.update_idletasks()
x = (win.winfo_screenwidth() // 2) - (width // 2)
y = (win.winfo_screenheight() // 2) - (height // 2)
win.geometry(f'{width}x{height}+{x}+{y}')
def main():
width = 500
height = 500
main_window = tk.Tk()
main_window.title('7Watchlist DataGrabber')
main_window.iconbitmap(main_window, r'images\icon.ico')
center(main_window, width, height)
main_window.resizable(False, False)
main_window.mainloop()
if __name__ == "__main__":
main()
有一个完全相似的question并接受一个答案。在上面,OP says在评论中:
I think I finally figured out the root of the problem. [...] So instead of my original code
app.iconbitmap(r"C:\Program Files (x86)\Notepad++\Files\journalicon.ico")
you need to doapp.iconbitmap(app, r"C:\Program Files (x86)\Notepad++\Files\journalicon.ico")
[...]
还有accepted answer似乎表明了同样的事情:
- 将
app.iconbitmap(r'address')
替换为app.iconbitmap(app, r'address')
。
但是我的代码已经使用了这种格式的iconbitmap
。所以我的问题是:我怎样才能摆脱这个小窗口?
最佳答案
我刚刚从 main_window.wm_iconbitmap(bitmap=None, default=None)
中删除了 bitmap = main_window
,似乎它解决了问题,我只设置了默认值范围。尽管我使用的是 Mac 操作系统,但 iconbitmap
无法正常工作,就像图标不显示一样。
我还使用 win.update_idletasks()
运行它,但仍然看不到小窗口,但您可以通过删除它来尝试一下。
希望这对您有帮助。
关于Python Tkinter-小窗口在主窗口之前弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890931/