📜  Python – 在 GTK+ 3 中创建一个盒子

📅  最后修改于: 2022-05-13 01:54:38.126000             🧑  作者: Mango

Python – 在 GTK+ 3 中创建一个盒子

先决条件 - Python - 在 GTK+ 3 中创建窗口、按钮

在 GTK+ 中,您可以在行、列和/或表格中排列小部件,而不是指定窗口中每个小部件的位置和大小。窗口的大小是根据它包含的小部件的大小自动确定的。小部件的大小反过来又取决于它们包含的文本量。完善布局可以通过指定小部件的填充距离和居中值来完成。

GTK+ 使用容器分层排列小部件。容器有单子容器和多子容器两种。最常用的是垂直或水平框(Gtk.Box)和网格(Gtk.Grid)

请按照以下步骤操作:

  1. 导入 GTK+ 3 模块。
  2. 创建主窗口。
  3. 创建盒子。
  4. 创建按钮。

注意:在像 Pycharm 这样的 IDE 中,我们可以安装一个名为 PyGObject 的包来使用 GTK+ 3。

盒子是我们可以将小部件打包到其中的不可见容器。当将小部件打包到水平盒子中时,对象水平插入Gtk.Box.pack_start() (从左到右)或Gtk.Box.pack_end() (从右到左)。在垂直框中,小部件从上到下包装,反之亦然。

示例:创建一个带有按钮的框。
import gi
# Since a system can have multiple versions
# of GTK + installed, we want to make 
# sure that we are importing GTK + 3.
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
  
  
class MyWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title ="GfG")
  
        # Create a horizontally orientated box container 
        # having spacing 6 pixels 
        self.box = Gtk.Box(spacing = 6)
        self.add(self.box)
  
        # Add a button to box container.
        # Gtk.Box.pack_start() widgets are positioned from left to right
        self.button1 = Gtk.Button(label ="Click Here")
        self.button1.connect("clicked", self.on_button1_clicked)
        self.box.pack_start(self.button1, True, True, 0)
  
    def on_button1_clicked(self, widget):
        print("Welcome to Geeks for Geeks.")
  
win = MyWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()

输出 :

点击这个我们得到。