Как установить размер tk_messageBox? - PullRequest
2 голосов
/ 10 января 2011

Я использую tk_messageBox с сообщением lage, поэтому я хотел бы настроить макет этого диалогового окна сообщения.

Я использую tk_messageBox так:

set status [tk_messageBox -type yesno -icon warning -message "Here goes a text with 50 words"]

Как я могу установить ширину и высоту tk_messageBox здесь?

Может быть есть несколько лучших альтернатив для tk_messageBox?

Ответы [ 2 ]

3 голосов
/ 10 января 2011

Вы не можете установить размер tk_messageBox (эта функциональность не соответствует тому, как эти диалоги работают в Windows и OSX).Вы можете попробовать поместить часть сообщения в параметр -detail, в котором обычно используется шрифт меньшего размера.

Или вы можете попробовать поискать файл msgbox.tcl вашей установки Tk длякод Tcl, который реализует диалоговое окно сообщения в Unix / X11.Подсказка: на этой платформе только , tk_messageBox действительно псевдоним для ::tk::MessageBox.Имя виджета, созданного этим сценарием, зависит от параметра -parent, но если он отсутствует, это .__tk__messagebox.Зная это, вы сможете использовать умную обработку событий для настройки рассматриваемого виджета toplevel.Но это не очень хорошее решение, и оно не будет работать ни на Windows, ни на OSX (при сборке для Aqua вместо X11).

2 голосов
/ 17 декабря 2012

Это то, что вы имели в виду?

import Tkinter
import tkMessageBox 

window = Tkinter.Tk()
window.option_add('*Dialog.msg.width', 50)
tkMessageBox.showinfo("header", "Hello, World!") 
...