Change words on tkinter Messagebox buttons

故事扮演 提交于 2019-12-01 03:48:48

问题


I'm using tkinter's "askokcancel" message box to warn the user, with a pop-up, of an irreversible action.

from tkinter import Tk
Tk().withdraw()
from tkinter.messagebox import askokcancel
askokcancel("Warning", "This will delete stuff")

I'd like to change the text of the 'OK' button (from 'OK') to something like 'Delete', to make it less benign-looking.

Is this possible?

If not, what is another way to achieve it? Preferably without introducing any dependancies...


回答1:


No, there is no way to change the text of the buttons for the built-in dialogs.

Your best option is to create your own dialog. It's not very hard to do, and it gives you absolute control over what is in the dialog widget.




回答2:


Why not open a child window thus creating your own box with your own button like this:

from tkinter import *
def messageWindow():
    win = Toplevel()
    win.title('warning')
    message = "This will delete stuff"
    Label(win, text=message).pack()
    Button(win, text='Delete', command=win.destroy).pack()
root = Tk()
Button(root, text='Bring up Message', command=messageWindow).pack()
root.mainloop()


来源:https://stackoverflow.com/questions/16242782/change-words-on-tkinter-messagebox-buttons

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!