2011-08-06 200 views

回答

2

我不確定我知道「非活動時邊框」是什麼意思,但是您肯定可以爲TkInter中的文本添加邊框。以下代碼創建兩個外框和兩個內框,然後向每個內框添加一個文本。幀的四邊都有5px的邊框。

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的回答涵蓋給一個只包含Text對象的框架提供邊框。這是圍繞文本對象提供2D的好方法,但在混合中添加了另一個小部件。我認爲最初的問題與設置Text對象的邊框寬度和浮雕類型有關。這段代碼給了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()