python macos arm tkinter messagebox autorelease pool page error

在 macOS arm 上,使用 tkinter messagebox 會讓程式掛掉。顯示錯誤訊息:

objc[72371]: autorelease pool page 0x1259de000 corrupted

解法:
https://stackoverflow.com/questions/75592713/how-to-close-messagebox-of-tkinter-automatic-after-a-few-seconds-in-python

import tkinter as tk
import tkinter.messagebox as msgbox

def showMessage(message, timeout=5000):
    root = tk.Tk()
    root.withdraw()
    root.after(timeout, root.destroy)
    msgbox.showinfo('Info', message, master=root)

showMessage('Your Message Here')

實際測試,上面的解法,還是無法彈出msgbox, 但致少知道是msgbox 造成的錯誤,完全不使用messagebox 就解決了。但變成要使用其他方式來彈出錯誤訊息。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *