簡體   English   中英

更改 Tkinter 消息框的圖標

[英]Change Icon For Tkinter Messagebox

有沒有辦法改變 tkinter 消息框的圖標? 這是我的代碼:

from tkinter import *
import tkinter.messagebox as messagebox

root = Tk()
messagebox.showinfo(title='Example',message='This is an example')
root.mainloop()

是否可以將圖標從默認的 tkinter 羽毛更改為自定義 ico?

以下是您的問題的兩種可能的解決方案:

1.更改標題欄圖標

是的,我們可以在 tkinter 中為標題欄設置自定義圖標。

為標題欄設置自定義圖標

代碼:

import tkinter as tk
window = tk.Tk()

# change title bar icon
window.iconbitmap('book_2.ico')

window.mainloop()

注意:使用帶有iconbitmap()函數的.ico文件

如果您為根窗口設置自定義圖標,則該圖標將被設置為所有其他子窗口的標題欄圖標,包括來自消息框模塊的消息框。

根窗口和消息框具有相同的自定義圖標

代碼:

import tkinter as tk
import tkinter.messagebox as tkmb

window = tk.Tk()

# change title bar icon
window.iconbitmap('book_2.ico')

# same icon is also set for the message box
tkmb.showinfo(title='Info', message='Info message box')

window.mainloop()

2.更改消息框內的圖標

,您不能設置自定義圖標以在消息框內顯示。

消息框圖標

但是您有四個預設圖標選項可供選擇,選項包括:

  • 錯誤
  • 信息
  • 問題
  • 警告

4 個消息框圖標選項

您可以通過為icon選項指定上述 4 個值之一來使用它們。

import tkinter.messagebox as tkmb

tkmb.showinfo(title='Message Box', message='Error message', icon='error')
tkmb.showinfo(title='Message Box', message='Info message', icon='info')
tkmb.showinfo(title='Message Box', message='Question message', icon='question')
tkmb.showinfo(title='Message Box', message='Warning message', icon='warning')

注意:默認圖標

  • showinfo()消息框是信息
  • showerror()消息框出錯
  • showwarning()消息框是警告

是的,有這樣的選擇。 假設您的根 Tkinter 實例稱為root ,您的導入語句from tkinter import * ,並且您的圖像文件名為'ico.gif'

root.tk.call('wm', 'iconphoto', root._w, PhotoImage(file='ico.gif'))

在創建root對象之后和彈出messagebox之前調用此方法。 該圖標將應用於根對象以及messagebox

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM