我在Python程序中使用Gtk + 3我正在努力,我需要"列"在GtkTreeView中以水平方式呈现,而不是现在的垂直方式。
正如您从this GIF所看到的,因为附件名称堆叠起来,它会向上扩展TreeView,而不是我想要的。
我使用Glade设计GUI而我无法找到任何选项,我也无法在Gtk+ 3 Docs中找到任何提及。
这可能,或者我将不得不弄清楚如何破解多列的解决方案?
我希望它最终看起来像这样:
答案 0 :(得分:1)
如果你使用带Gtk.Labels的Gtk.FlowBox,你可以这样做。但是,可能有一种比在Gtk.EventBox中打包每个Gtk.Label更好的方法。
from gi.repository import Gtk, Gdk
import string
class Window(Gtk.Window):
def __init__(self):
super().__init__()
self.connect('delete-event', Gtk.main_quit)
self.set_size_request(200, 150)
flowbox = Gtk.FlowBox()
self.add(flowbox)
for x in string.ascii_lowercase:
eventbox = Gtk.EventBox()
eventbox.add(Gtk.Label(label=x))
flowbox.add(eventbox)
eventbox.connect('button-press-event', self.on_button_press)
def on_button_press(self, widget, event):
if event.button == 3:
print('Right click on: ' + widget.get_child().get_text())
win = Window()
win.show_all()
Gtk.main()