第一步:安装python3.7环境

第二步:安装GTK3.0环境

Windows10下安装

Linux下安装

 
 

第三步:创建基本页面模板

在python代码中引入GTK的包:
 
用面向对象的开发方式创建主要页面的初始化框架:
这段代码定义了一个名为MainWindow的类,该类是Gtk.Window类的子类。
在类的初始化方法__init__中:
首先调用了父类Gtk.Window的初始化方法Gtk.Window.init(self, title="一个页面"),用于创建一个窗口对象。通过设置title参数为"一个页面",将窗口的标题设置为"一个页面"。
接下来使用self.set_default_size(400, 300)设置了窗口的默认大小为宽度1024像素、高度750像素。
总结:这段代码定义了一个名为MainWindow的窗口类,并在初始化方法中设置了窗口的标题和默认大小。
 
在“mian”函数中执行:
代码片段中的 if __name__ == '__main__': 是Python中的惯用用法,用于判断当前脚本是否作为主程序直接运行,而不是被其他脚本导入和调用。
在这个条件下,以下代码将被执行:
  1. win = MainWindow():创建一个 MainWindow 的实例,即我们定义的窗口对象。
  1. win.connect("destroy", Gtk.main_quit):连接 destroy 信号到 Gtk.main_quit 函数。这意味着当窗口被关闭时,Gtk.main_quit 函数会被调用,从而终止GTK的主事件循环。
  1. win.show_all():显示窗口及其所有子部件。这会使窗口及其内容可见。
  1. Gtk.main():启动GTK的主事件循环。在这个循环中,GTK会等待用户的输入和事件,并相应地更新窗口及其部件的状态。
通过这些步骤,当我们直接运行这个脚本时,会创建一个窗口并显示出来,然后进入GTK的主事件循环,等待用户的交互和事件响应。直到窗口被关闭或程序终止时,循环才会结束。
 
第三步要点总结:
  1. 引入要用的GTK3.0的包
import gi gi.require_version('Gtk','3.0') from gi.repository import Gtk
  1. 创建页面的初始化框架
创建页面、标题Gtk.Window.__init__(self, title="一个页面")
大小self.set_default_size(1024, 750)
 
  1. if __name__ == '__main__': 中:
实例化页面对象:win = MainWindow()
页面对象绑定销毁函数:win.connect("destroy", Gtk.main_quit)(点击“X”退出页面时同时终止程序)
页面对象进行显示:win.show_all()
启动页面循环主事件:Gtk.main()

第四步:给页面进行布局(自定义的固定+表格布局)

解释:这不是纯正的固定布局,这是固定+表格布局。集合了两者的布局优点而自定义结合的布局方式。
固定布局:直接通过操作像素位点进行布局,优点:布局自由,想放哪里放哪里;缺点:一旦修改屏幕分辨率,那设定的分辨率位点统统要改变,不然显示会按照原来的位点显示,无法根据窗口大小灵活缩放。
表格布局:优点:修改分辨率后也会按照比例来正常显示;缺点:我感觉GTK3中不好用(上手难度高的低情商说法)。
网格布局:优先:相对位置灵活可变;缺点:布局不够自由,没理解的话修改容易出错。
 
💡
所以结合固定布局和表格布局的优点,自定义了固定+表格的布局方式。以固定布局来模拟表格布局的方式实现。
 
创建固定布局中模拟的表格的格子:
创建固定布局:
创建控件:(例如按钮)
设置控件尺寸:(以cell的尺寸为基本单位)
设置控件在固定布局放置位置:(0,0和6,4)
 
例子:
效果图:
notion image
XavierSu
XavierSu
一个追求精神与技术的魔怔人
公告
type
status
date
slug
summary
tags
category
icon
password
🎉NotionNext 4.0即将到来🎉
-- 感谢您的支持 ---
👏欢迎更新体验👏