2

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

我是这样使用tk_messageBox的:

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

如何设置tk_messageBox这里的宽度和高度?

也许有一些更好的选择tk_messageBox

4

4 回答 4

3

您无法设置 a 的大小tk_messageBox(该功能不适合这些对话框在 Windows 和 OSX 上的工作方式)。您可以尝试将一些消息放入-detail选项中,该选项通常使用较小的字体。

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

于 2011-01-10T02:05:46.787 回答
2

这是你的想法吗?

import Tkinter
import tkMessageBox 

window = Tkinter.Tk()
window.option_add('*Dialog.msg.width', 50)
tkMessageBox.showinfo("header", "Hello, World!") 
于 2012-12-16T20:41:05.203 回答
0

.option_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”是线的长度,以英寸为单位)

于 2020-06-10T15:58:10.733 回答
0

我使用这些设置,但没有在 X11 之外的其他平台上测试过

option add *Dialog.msg.wrapLength 10c 
option add *Dialog.dtl.wrapLength 10c

当然,您可以尝试 10c(代表 10 厘米)以外的其他尺寸。

于 2021-06-23T11:43:33.307 回答