Python 皮格特克。如何在窗口中显示文本';s文本视图小部件左键单击状态图标

Python 皮格特克。如何在窗口中显示文本';s文本视图小部件左键单击状态图标,python,gtk,pygtk,gtktextview,Python,Gtk,Pygtk,Gtktextview,我有一个小的PyGTK程序,它有一个状态图标。在状态图标上单击鼠标左键时,会出现一个带有TextView的窗口,并且TextView小部件中会显示一个预定义的文本。我的问题是,我不知道如何将文本作为参数传递给创建窗口的方法。我可以创建带有文本视图的窗口,没有问题,但是我不能在其中插入文本。 这是我的密码: import gtk import keybinder class PyPPrinter(object): def __init__(self): self.stat

我有一个小的PyGTK程序,它有一个状态图标。在状态图标上单击鼠标左键时,会出现一个带有TextView的窗口,并且TextView小部件中会显示一个预定义的文本。我的问题是,我不知道如何将文本作为参数传递给创建窗口的方法。我可以创建带有文本视图的窗口,没有问题,但是我不能在其中插入文本。 这是我的密码:

import gtk
import keybinder

class PyPPrinter(object):
    def __init__(self):
        self.staticon = gtk.StatusIcon()
        self.staticon.set_from_stock(gtk.STOCK_INDEX)
        self.staticon.set_visible(True)
        self.staticon.connect('activate', self.browser(output_text = 'text'))
        gtk.main()

    def browser(self, window, output_text):
        browser = gtk.Window()
        browser.set_usize(600, 500)
        textbox = gtk.TextView()
        text = gtk.TextBuffer()
        text.set_text(output_text)
        textbox.set_buffer(text)
        browser.add(textbox)
        browser.show_all()        

if __name__ == '__main__':
    PyPPrinter()
这段代码给了我一个例外:
TypeError:browser()正好接受3个参数(给定2个)
。也许我还应该为
窗口
参数传递一个值,但它应该是什么?

两个变量:

更改连接部件:

self.staticon.connect('activate', self.browser(output_text = 'text'))
致:

或更改处理程序签名:

def browser(self, window, output_text):
致:

def browser(self, window, output_text):
def browser(self, window):