Tcl 如何设置tk_messageBox的大小?

Tcl 如何设置tk_messageBox的大小?,tcl,tk,tkmessagebox,messagedialog,Tcl,Tk,Tkmessagebox,Messagedialog,我正在使用带有lage消息的tk_messageBox,因此我想配置该消息对话框的布局 我使用的是tk_messageBox如下: set status [tk_messageBox -type yesno -icon warning -message "Here goes a text with 50 words"] 如何在此处设置tk_messageBox的宽度和高度 也许有一些更好的方法可以替代tk_messageBox?您不能设置tk_messageBox的大小(这是一种与Window

我正在使用带有lage消息的
tk_messageBox
,因此我想配置该消息对话框的布局

我使用的是
tk_messageBox
如下:

set status [tk_messageBox -type yesno -icon warning -message "Here goes a text with 50 words"]
如何在此处设置
tk_messageBox
的宽度和高度


也许有一些更好的方法可以替代
tk_messageBox

您不能设置
tk_messageBox
的大小(这是一种与Windows和OSX上的对话框工作方式不符的功能)。您可以尝试将部分消息放入
-detail
选项,该选项通常使用较小的字体


或者,您可以尝试在Tk安装的文件
msgbox.tcl
中查找在Unix/X11上实现消息框对话框的tcl代码。提示:仅在该平台上,
tk_messageBox
实际上是
:tk::messageBox
的别名。由该脚本创建的小部件的名称取决于
-parent
选项,但如果不存在该选项,则为
。\uuuuuu tk\uuuu messagebox
。知道了这一点,您应该能够使用智能事件处理来配置所讨论的
toplevel
小部件。但这不是一个好的解决方案,在Windows或OSX上都不起作用(当为Aqua而不是X11构建时)。

这就是您的想法吗

import Tkinter
import tkMessageBox 

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

.option\u add
可能仅适用于linux操作系统,但您可以控制字体、换行位置和框的宽度:

root.option_add('*Dialog.msg.font', 'Helvetica 24')
root.master.option_add('*Dialog.msg.width', 34)
root.master.option_add("*Dialog.msg.wrapLength", "6i")

(其中“6i”是以英寸为单位的线条长度)

谁在这里谈论Python?当问题是关于Tcl/Tk时,请坚持使用Tcl/Tk。谢谢这似乎使框变宽了,但文本不会流入新的空间。知道怎么解决吗?这里也一样;它使它更宽,但不允许文本填充额外的空间。我们如何解决这个问题?