2017-05-21 24 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

完璧に動作します!どうもありがとうございました :) –

関連する問題