Так что я делаю графический интерфейс для получения твитов. Я сделал окно события, которое будет принимать сигнал и изменять текстовое представление.
Я использую многопроцессорность, чтобы изменить текстовое представление, но оно просто не меняется. Я даже пытался изменить размер окна. Но ничего не меняется. Я могу получить текстовый буфер textview, но не могу изменить его.
import pygtk
pygtk.require('2.0')
import gtk
from multiprocessing import Process
class multi:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_size_request(800,400)
self.window.set_title("Twitter Box")
self.window.set_border_width(4)
self.window.connect("destroy", self.close_application)
self.vbox1 = gtk.EventBox()
self.vbox1.set_size_request(750,450)
self.vbox1.connect('leave_notify_event',self.go_multi)
self.window.add(self.vbox1)
self.vbox1.show()
self.tweetview = gtk.TextView()
self.tweetbuffer = self.tweetview.get_buffer()
self.tweetbuffer.set_text('Why not working?')
self.vbox1.add(self.tweetview)
self.tweetview.show()
self.window.show()
def close_application(self, widget):
gtk.main_quit()
def go_multi(self, widget, data=None):
p = Process(target = self.change_textview)
p.start()
p.join()
def change_textview(self):
print 'changing text'
startiter = self.tweetbuffer.get_start_iter()
enditer = self.tweetbuffer.get_end_iter()
text = self.tweetbuffer.get_text(startiter, enditer)
print text
if text:
self.tweetbuffer.set_text('Changed....')
else:
self.tweetbuffer.set_text('')
return
def main():
multi()
gtk.main()
if __name__ == '__main__':
main()
Я создаю графический интерфейс для получения твитов. Иногда для получения временной шкалы требуется очень много времени из-за медленного соединения и зависания графического интерфейса. Итак, я хотел сделать так, чтобы он создавал процесс и получал временную шкалу и устанавливал твитбуфер. Но я не могу установить текст в твиттере.