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

サイズを設定することはできませんtk_messageBox(これは、WindowsおよびOSXでのダイアログの動作方法に適合しない機能です)。通常は小さいフォントを使用するオプションにメッセージの一部を入れてみることができます。-detail

または、Tkインストールのファイルmsgbox.tclで、Unix/X11のメッセージボックスダイアログを実装するTclコードを探してみてください。ヒント:そのプラットフォームでのみtk_messageBoxは実際にはのエイリアスです::tk::MessageBox。そのスクリプトによって作成されるウィジェットの名前は-parentオプションによって異なりますが、それがない場合は.__tk__messageboxです。toplevelそれを知っていると、問題のウィジェットを構成するために巧妙なイベント処理を使用できるはずです。ただし、これは優れたソリューションではなく、WindowsまたはOSXのどちらでも機能しません(X11ではなくAqua用にビルドする場合)。

于 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

これらの設定を使用していますが、X11 以外のプラットフォームではテストしていません

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

もちろん、10c (10 センチメートルの略) 以外のサイズを試すこともできます。

于 2021-06-23T11:43:33.307 に答える
0

.option_addLinux オペレーティング システムでのみ機能する可能性がありますが、フォント、行が折り返される場所、およびボックスの幅を制御できます。

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 に答える