import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
flowbox = Gtk.FlowBox()
self.add(flowbox)
for i in range(10):
button = Gtk.Button(label="Button {}".format(i))
button.set_size_request(100, 50)
flowbox.add(button)
flowbox.set_valign(Gtk.Align.START)
flowbox.set_max_children_per_line(5)
flowbox.set_selection_mode(Gtk.SelectionMode.NONE)
完整代码示例:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class FlowBoxWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="FlowBox Example")
# 创建流式布局框架FlowBox,并将其添加到窗口中
flowbox = Gtk.FlowBox()
self.add(flowbox)
# 创建所需的按钮并将它们添加到FlowBox中
for i in range(10):
button = Gtk.Button(label="Button {}".format(i))
button.set_size_request(100, 50)
flowbox.add(button)
# 设置FlowBox的属性
flowbox.set_valign(Gtk.Align.START)
flowbox.set_max_children_per_line(5)
flowbox.set_selection_mode(Gtk.SelectionMode.NONE)
win = FlowBoxWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()