[pygtk] A Timer and refreshing TextView
Aravind Vijayakumar
iamfenris at yahoo.com
Mon Dec 3 14:34:40 WST 2007
Since you are opening the file afresh each time in refreshLog, won't you be reading the first line each time? You probably want a persistent open stream from which you can keep reading. Also, have a look at gobject.io_add_watch, it is probably simpler than threading for your needs.
-Aravind
----- Original Message ----
From: Mark Stahler <isignupnow at gmail.com>
To: PyGTK <pygtk at daa.com.au>
Sent: Monday, December 3, 2007 4:42:56 AM
Subject: [pygtk] A Timer and refreshing TextView
Hello,
I am attempting to have a textview tail the end of a log file. So far I
can load the log and scroll to the end however I am running into a
problem have the log file refresh.
Code:
textview = self.gui.get_widget("bottom_textview")
# Methods that need to be run on start
self.refreshLog()
# Timer to autorefresh log
timer = threading.Timer(10, self.refreshLog)
timer.start()
def refreshLog(self):
file = open('log.txt')
string = file.read()
buffer = textview.get_buffer()
buffer.set_text(string)
mark = buffer.create_mark("end", buffer.get_end_iter())
textview.scroll_to_mark(mark, 0)
buffer.delete_mark_by_name("end")
The code seems to run ok but the text in the TextView does not update.
I
loaded the log into vi and appended some text and saved it but the
program would not reload it. Am I overlooking something simple? Is
there
another way to do the timer? Thanks for the help!
Mark
_______________________________________________
pygtk mailing list pygtk at daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
____________________________________________________________________________________
Get easy, one-click access to your favorites.
Make Yahoo! your homepage.
http://www.yahoo.com/r/hs
More information about the pygtk
mailing list