Version 5 (modified by atzm, 18 years ago) (diff) |
---|
PyGTK
適当メモ.主に日記からの転載.
TextView
textField = gtk.TextView() textBuffer = textField.get_buffer() [startIter, endIter] = textBuffer.get_bounds() # [最初の位置, 最後の位置] print textBuffer.get_text(startIter, endIter)
- 最初の位置と最後の位置を取得し,中の文字列を得る
ある処理を x 秒後に裏で実行
def __init__(self): self.id = gtk.timeout_add(1000, self.run) def run(self): ... # process return True def stop(self): if self.id: gtk.timeout_remove(self.id)
- run が True を返し続ける限りは繰り返し実行される.False が返ると止まる.
×ボタンが押された時にウィジェットを破壊せずに hide する
window = gtk.Widnow(gtk.WINDOW_TOPLEVEL) window.connect("delete-event", close) open(window) def close(w): w.hide() return True def open(w): w.show()
注意点は以下の通り.
- destroy イベントでなく delete-event をフックする
- close メソッドで True を返す
TextView 内の文字に色づけなど
textview = gtk.TextView() buffer = textview.get_buffer() tag = buffer.create_tag('tag_name') tag.set_property('foreground', 'blue') # tag_name という名前の,字の色を青にするタグの生成 buffer.insert_with_tags_by_name(buffer.get_end_iter(), 'hogehoge', 'tag_name')