2017-05-21 5 views
0

지금 당황 스럽습니다. TextView를 상태 로그로 사용하고, 새로운 줄이 추가 될 때마다이 기능이 사용됩니다. 하지만 그것은 작동하지만 나는 전체 라인의 색상을 변경하는 추가 할 수 없습니다. GTK3 + TextView는 줄마다 다른 색상의 텍스트 줄을 추가합니다.

def logtostatus(self, text): 
    tvLog = self.tabs['Status'][1].get_children()[0].get_children()[0] 
    buf = tvLog.get_buffer() 
    start = buf.get_end_iter() 
    buf.insert(start, text+"\n") 
    end = buf.get_end_iter() 

텍스트를 삽입 않으며, 내가 TextTag의를 사용하려고 시도하는 다양한 버전을했다하지만 난 아이디어가 부족하기 때문에 그렇게 일을 거부, 내가 도와주세요,이 모두를 부탁 해요,이 날 운전한다 견과류.

from gi.repository import Gtk 

class MainWindow(Gtk.Window): 
    def __init__(self): 
     super(MainWindow, self).__init__() 
     self.connect("destroy", lambda x: Gtk.main_quit()) 

     tb = Gtk.TextBuffer() 
     tv = Gtk.TextView(buffer = tb) 

     for color in ("red", "yellow", "green", "blue", "white"): 
      tb.insert_markup(
       tb.get_end_iter(), 
       '<span color="{:s}">This is a test message</span>\n'.format(color), 
       -1) 

     self.add(tv) 
     self.show_all() 

    def run(self): 
     Gtk.main() 


def main(args): 
    mainwdw = MainWindow() 
    mainwdw.run() 

    return 0 

if __name__ == '__main__': 
    import sys 
    sys.exit(main(sys.argv)) 

그것은 색상으로 재생하는 가장 쉬운 방법을 보인다

이 나를 위해 작동하면

답변

2

감사드립니다. 결과 :

enter image description here

+0

완벽하게 작동합니다. 고마워요 :) –