Python – 在 GTK+ 3 中创建一个盒子
先决条件 - Python - 在 GTK+ 3 中创建窗口、按钮
在 GTK+ 中,您可以在行、列和/或表格中排列小部件,而不是指定窗口中每个小部件的位置和大小。窗口的大小是根据它包含的小部件的大小自动确定的。小部件的大小反过来又取决于它们包含的文本量。完善布局可以通过指定小部件的填充距离和居中值来完成。
GTK+ 使用容器分层排列小部件。容器有单子容器和多子容器两种。最常用的是垂直或水平框(Gtk.Box)
和网格(Gtk.Grid)
。
请按照以下步骤操作:
- 导入 GTK+ 3 模块。
- 创建主窗口。
- 创建盒子。
- 创建按钮。
注意:在像 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()
输出 :
点击这个我们得到。
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。