Comment définir la taille de tk_messageBox?
-
09-10-2019 - |
Question
J'utilise un tk_messageBox
avec un message lage, donc je voudrais configurer la mise en page de cette boîte de dialogue de message.
J'utilise tk_messageBox
comme ceci:
set status [tk_messageBox -type yesno -icon warning -message "Here goes a text with 50 words"]
Comment puis-je régler ici la largeur et la hauteur tk_messageBox
?
Peut-être il y a des meilleures alternatives pour tk_messageBox
?
La solution
Vous ne pouvez pas définir la taille d'un tk_messageBox
(qui est une fonctionnalité qui ne correspond pas à la façon dont ces dialogues fonctionnent sous Windows et Mac OS X). Vous peut essayer de mettre une partie du message dans l'option -detail
, qui utilise généralement une police plus petite.
Vous pouvez essayer de regarder dans le fichier msgbox.tcl
de votre installation Tk pour le code Tcl qui implémente la boîte de dialogue de message sur Unix / X11. Astuce: sur cette plate-forme uniquement , tk_messageBox
est vraiment un alias pour ::tk::MessageBox
. Le nom du widget créé par ce script dépend de l'option -parent
, mais si c'est absent, il est .__tk__messagebox
. Sachant que, vous devriez être en mesure d'utiliser la gestion des événements intelligent pour configurer le widget toplevel
en question. Mais ce n'est pas une solution agréable, et ne fonctionnera pas sur Windows ou OSX (lorsque build pour Aqua au lieu de X11).
Autres conseils
Est-ce que vous aviez en tête?
import Tkinter
import tkMessageBox
window = Tkinter.Tk()
window.option_add('*Dialog.msg.width', 50)
tkMessageBox.showinfo("header", "Hello, World!")