pygtk - 在统一桌面中显示gtk.TextView的问题

时间:2014-10-29 16:03:38

标签: unity3d textview pygtk

Unity有问题... 我的程序没有像Lubuntu或Kubuntu那样显示Textview:

Kubuntu 14.10,我的桌面:一切都很好 enter image description here

在Lubuntu 14.04(gnome)上,一切都很好:(virtualbox v.4.3.18) enter image description here

Unity上的

(Ubuntu 14.10,virtualbox) 高度的textview为null,即使我最大化窗口: enter image description here

Unity有什么问题?

我的代码:

         # entourage détails
         cadre2 = gtk.Frame("Détails de la vidéo")
         boite_rech.add(cadre2)

         #création du tableau 2
         tableau2 = gtk.Table(rows=1, columns=1, homogeneous=True)
         cadre2.add(tableau2)

         self.fd = gtk.ScrolledWindow()
         tableau2.attach(self.fd, 0, 1, 0, 1, xpadding=10, ypadding=2)
         self.fd.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)

         self.textview = gtk.TextView()
         self.textview.set_editable(False)
         self.buffertexte = self.textview.get_buffer()
         self.textview.set_wrap_mode(gtk.WRAP_WORD)
         self.textview.set_cursor_visible(True)
         self.buffer = self.textview.get_buffer()
         self.edition = self.textview.get_editable()
         self.textview.set_justification(gtk.JUSTIFY_LEFT)

         self.iterdebut = self.buffertexte.get_end_iter()
         self.buffertexte.set_text("")

         self.fd.add(self.textview)
         self.fd.show()
         self.textview.show()

如果你有想法,我没有......谢谢

我试图删除该表,但结果相同

1 个答案:

答案 0 :(得分:0)

我找到的解决方案必须添加gtk.VPaned()来分隔textview和隐藏标签:

这是我的新代码:

     pane = gtk.VPaned()
     pane.set_position(500)

     # entourage détails
     cadre2 = gtk.Frame("Détails de la vidéo")
     pane.add1(cadre2)
     #boite_rech.add(cadre2)

     #création du tableau 2
     tableau2 = gtk.Table(rows=2, columns=1, homogeneous=False)
     #pane.add1(tableau2)
     cadre2.add(tableau2)

     #textview
     self.fd = gtk.ScrolledWindow()
     tableau2.attach(self.fd, 0, 2, 0, 1, xpadding=10, ypadding=2)
     self.fd.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
     self.textview = gtk.TextView()
     self.textview.set_editable(False)
     self.textview.set_wrap_mode(gtk.WRAP_WORD)
     self.textview.set_cursor_visible(True)
     self.textview.set_justification(gtk.JUSTIFY_LEFT)
     self.buffertexte = self.textview.get_buffer()
     self.edition = self.textview.get_editable()

     self.iterdebut = self.buffertexte.get_end_iter()
     self.buffertexte.set_text("")

     self.fd.add(self.textview)
     self.fd.show()
     self.textview.show()   

     label2 = gtk.Label("\n\n")
     pane.add2(label2)

     boite_rech.add(pane)

结果: enter image description here

我不知道它是否是最佳解决方案,但它确实有效。