2011-08-06 18 views

答えて

2

"非アクティブ時の境界線"の意味はわかりませんが、確かにTkInterのテキストに境界線を追加できます。次のコードは、2つの外側フレームと2つの内側フレームを作成し、次にそれぞれの内側フレームにテキストを追加します。フレームには、すべての面で5ピクセルの境界が与えられます。

from Tkinter import * 

root = Tk() 

left_outer = Frame(root, bd=1) 
left_outer.pack(side=LEFT, fill=Y, pady=5, padx=5) 
right_outer = Frame(root, bd=1) 
right_outer.pack(side=LEFT, fill=Y, pady=5, padx=5) 

left = Frame(left_outer, bd=2, relief=SUNKEN) 
right = Frame(right_outer, bd=2, relief=SUNKEN) 
left.pack(fill=Y) 
right.pack(fill=Y) 

t_start = Text(left, width=20, height=200) 
t_start.pack(side=LEFT, fill=Y) 
s_start = Scrollbar(left) 
s_start.pack(side=RIGHT, fill=Y) 
s_start.config(command=t_start.yview) 
t_start.config(yscrollcommand=s_start.set) 

t_end = Text(right, width=20, height=200) 
t_end.pack(side=LEFT, fill=Y) 
s_end = Scrollbar(right) 
s_end.pack(side=RIGHT, fill=Y) 
s_end.config(command=t_end.yview) 
t_end.config(yscrollcommand=s_end.set) 

root.geometry("400x200") 
root.mainloop() 
1

odie5533の答えは、テキストオブジェクトのみを含むフレームに枠線を付けることを示しています。これは、テキストオブジェクトの周りに2Dを与える素晴らしい方法ですが、ミックスに別のウィジェットを追加します。元の質問は、Textオブジェクトのborder widthとrelief typeの両方を設定することに関連していたと思います。このスニペットは、別のフレームを使用せずにTextオブジェクトを解放します。

from Tkinter import * 

root = Tk() 

text_top = Text(root, relief=GROOVE, height=5, width = 40, borderwidth=2) 
text_top.pack() 

text_bottom = Text(root, relief=RIDGE, height=5, width = 40, borderwidth=2) 
text_bottom.pack() 

root.geometry("400x200") 
root.mainloop() 
関連する問題