我在我正在使用的Python程序中使用Gtk + 3,我需要GtkTreeView中的「列」以水平方式呈現,而不是現在的垂直方式。Gtk + 3使GtkTreeView水平渲染列
正如你可以從this GIF看到的那樣,因爲附件名稱堆疊起來,它向上展開TreeView,而不是我想要的。
我正在使用Glade設計GUI,我找不到任何選項,我也不能在中找到任何提及。
這是可能的,還是我將不得不弄清楚如何破解多列的解決方案?
我希望它結束了看起來像這樣:
我在我正在使用的Python程序中使用Gtk + 3,我需要GtkTreeView中的「列」以水平方式呈現,而不是現在的垂直方式。Gtk + 3使GtkTreeView水平渲染列
正如你可以從this GIF看到的那樣,因爲附件名稱堆疊起來,它向上展開TreeView,而不是我想要的。
我正在使用Glade設計GUI,我找不到任何選項,我也不能在中找到任何提及。
這是可能的,還是我將不得不弄清楚如何破解多列的解決方案?
我希望它結束了看起來像這樣:
如果您使用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()
@RPiAwesomeness要知道GtkFlowBox是在GTK + 3.12中引入的,所以如果你確實這樣做了,那麼你的最小GTK +版本將變成3.12。 (我也在考慮GtkFlowBox,但版本要求是我問的原因。) – andlabs
@andlabs這很好。我可以使用我已經使用的Glade GUI進行設置。 –
什麼特定版本的GTK +是您的最低要求? – andlabs
另外可以肯定的是,你的意思是說你需要一個像[this one]一樣的工作列表(https://i-msdn.sec.s-msft.com/dynimg/IC725349.png)? – andlabs
@andlabs最小值是Gtk 3.0。至於我想要的樣子,我希望它是這樣的:http://i.imgur.com/1BrcaFY.png。應該在問題中添加一個示例。 –