显示和隐藏Gtk.TextView

时间:2014-02-12 18:47:26

标签: textview gtk pygtk gtk3

我在显示和隐藏Gtk.TextView时遇到了问题。用户界面由Glade绘制, 这里的代码如下:

self.__Indirizzi_IP_TextView = builder.get_object('Indirizzi_IP_TextView')
self.__Indirizzi_IP_Window = builder.get_object('Indirizzi_IP_Window')

self.__Indirizzi_IP_Window.connect("delete-event", lambda widget, args=(): widget.hide())

下面是右侧Gtk.Button

的点击事件的信号处理程序
def Visualizza_indirizzi_IP_Button_clicked(self, widget, args=()):

        textbuffer = self.__Indirizzi_IP_TextView.get_buffer()
        textbuffer.set_text((' ').join(self.__configurazione['Indirizzi_IP']))
        self.__Indirizzi_IP_Window.show()

每当我尝试展示它时:

  • 第一次正常工作时,窗口会显示数据
  • 然后我关闭它,如果我试图重新打开我有一个空白的窗口

我不知道该怎么做,因为此代码来自official tutorial

1 个答案:

答案 0 :(得分:1)

我的猜测:您使用widget.hide()作为delete-event处理程序,但这并不会阻止其他处理程序运行,因为hide()不会返回True。结果,窗口被删除。尝试编写自己的处理程序,调用hide()并返回True。