2016-11-09 14 views
0

私のテキストボックスがtkinterに2つのフォントの背景色を与える方法は?

head 
this is the heading 

paragraph1 
this is the paragraph1 

paragraph2 
this is the paragraph2 

-----END------- 

head 
this is the heading 

paragraph1 
this is the paragragrph1 

paragraph2 
this is the paragragrph2 

paragraph3 
this is the paragragrph3 

次のデータが含まれている私はparagraphためheadと緑の背景色として赤を追加しようとしているので、私は

line_number = 1 
match_color = 0 
for Z in (etc_data): 
    if(re.match("head",Z)): 
     str_len = len(Z) 
     output_txtbox.tag_add("start", "%d.0"%(line_number), "%d.%s"%(line_number,str_len)) 
     output_txtbox.tag_config("start", background="red", foreground="white") 
     match_color = 0 
    if(re.match("paragraph",Z)): 
     print "HI"; 
     str_len = len(Z) 
     output_txtbox.tag_add("start", "%d.0"%(line_number), "%d.%s"%(line_number,str_len))  
     output_txtbox.tag_config("start", background="green", foreground="white")   
    line_number += 1 
    match_color+=1 

しかし、問題を次のように試してみました両方ともred colorを示しています。私は何が問題なのか分からない。どうすれば修正できますか?

+2

色付き領域の両方に同じタグ名が与えられているので、実際には同じ領域です。それらに異なる名前をつけて、 '' tag_config''をループの外側に移動してください。 – jasonharper

答えて

2

これは2倍の同じタグがあると思います:start。試してみることができます:

line_number = 1 
match_color = 0 
for Z in (etc_data): 
    if(re.match("head",Z)): 
     str_len = len(Z) 
     output_txtbox.tag_add("tag_head", "%d.0"%(line_number), "%d.%s"% (line_number,str_len)) 

     match_color = 0 
    if(re.match("paragraph",Z)): 
     print "HI"; 
     str_len = len(Z) 
     output_txtbox.tag_add("tag_paragraph", "%d.0"%(line_number), "%d.%s"% (line_number,str_len))  

    line_number += 1 
    match_color+=1    

# Configuring tags 
output_txtbox.tag_config("tag_head", background="red",  foreground="white") 
output_txtbox.tag_config("tag_paragraph", background="green",  foreground="white") 
関連する問題