GTK-4.0
文章平均质量分 85
学习笔记
李尔阳
这个作者很懒,什么都没留下…
展开
-
【20230305】Gtk4不能输入中文问题
貌似不用安装fcitx5也可以,直接下载[fcitxfcitx5-gtk],进行编译安装(https://github.com/fcitx/fcitx5-gtk)原创 2023-03-05 19:53:31 · 231 阅读 · 0 评论 -
二十五、Gtk4-多线程分析
首先回顾一下GLib,GObject,GIO,Gtk的不同,因为下面会涉及到这些概念里面的函数。所有这些都是由Gnome项目开发的库,一般都用于Gnome环境相关的应用程序。原创 2023-02-15 20:34:49 · 1180 阅读 · 0 评论 -
二十四、Gtk4-GtkExpression
GtkExpression是一种基本类型。它不是GObject的后代。GtkExpression提供了一种描述对值的引用的方法。GtkExpression需要求值才能获得值。它类似于算术计算。1 + 2 = 31+2是一个表达式。给出了计算的方法。3是来自表达式的值。求值是计算表达式并得到值。GtkExpression是一种获取值的方法。Evaluation类似于计算。值是通过计算表达式得到的。原创 2023-02-10 19:31:44 · 798 阅读 · 0 评论 -
二十二、Gtk4-ListView
GTK 4添加了新的列表对象GtkListView、GtkGridView和GtkColumnView。这个新特性在Gtk API参考—列表小构件概述中有描述。GTK 4还有其他实现列表的方法。它们是GtkListBox和GtkTreeView,它们是从GTK 3接管的。在Gtk开发博客中有一篇关于Matthias Clasen所写的列表小构件的文章。他描述了为什么开发GtkListView来取代GtkListBox和GtkTreeView。原创 2023-02-10 15:58:31 · 1444 阅读 · 0 评论 -
二十二、Gtk4-自定义图标
只需要在GtkIconTheme对象下,添加资源路径,就可以直接icon-name属性使用图标。例如:icon-name=vpf-update-symbolic。原创 2023-02-09 19:15:49 · 432 阅读 · 0 评论 -
二十一、Gtk4-Template XML and composite widget
前一节中的tfe程序不太好,因为很多东西都塞到了tfeapplication .c中。以及tfeapplication .c中的许多静态变量。文件tfeapplication.c应该被分成几个文件。首选项对话框由ui文件定义。它有GtkBox, GtkLabel和GtkFontButton。这样的小部件可以定义为复合小部件。子对象下一小节将展示如何构建首选项对话框。原创 2023-02-05 13:33:07 · 633 阅读 · 0 评论 -
二十、Gtk4-GtkMenuButton, accelerators, font, pango and gsettings
本节将重新构造Tfe文本编辑器。此外,还增加了以下特性。原创 2023-01-27 14:27:59 · 1062 阅读 · 0 评论 -
十九、Gtk4-Ui file for menu and action entries
你可能认为构建菜单真的很麻烦。是的,程序很复杂,需要很多时间来编码。这种情况类似于构建小构建。当我们构建部件时,使用ui文件是避免这种复杂性的好方法。菜单也是如此。菜单的ui文件有界面和菜单标签。文件以interface标签开始和结束。原创 2023-01-26 14:43:37 · 912 阅读 · 0 评论 -
十八、Gtk4-Stateful action
有些动作action有状态。状态的典型值是布尔值或字符串。但是,如果你愿意,也可以使用其他类型的状态。具有状态的动作称为有状态的。原创 2023-01-23 23:46:39 · 1550 阅读 · 0 评论 -
十七、Gtk4-Menu and action
用户经常使用菜单向计算机发出命令。它是这样的:现在让我们分析一下上面的菜单。对象有两种类型。由于菜单项之间的链接,菜单的结构很复杂。原创 2023-01-23 23:05:24 · 1536 阅读 · 0 评论 -
十六、Gtk4-How to build tfe (text file editor)
首先,源文件位于Gtk4-tutorila存储库中。如何下载它们在上一节的最后介绍。下面是编译和执行的指令。然后窗口出现。有四个按钮,新建,打开,保存和关闭。这是一个非常简单的编辑器。添加更多的功能是一个很好的实践。原创 2023-01-23 18:00:46 · 1689 阅读 · 0 评论 -
十五、Gtk4-tfeapplication.c
ffeapplication.c包含了除tfetxtview.c和tfenotebook.c之外的所有代码。原创 2023-01-23 10:16:29 · 921 阅读 · 0 评论 -
十四、Gtk4-Functions in GtkNotebook
GtkNotebook是文本文件编辑器tfe中一个非常重要的对象。它连接application和TfeTextView对象。tfenotebook.h中声明了一组公开函数。“tfenotebook”这个词只用于文件名。没有“TfeNotebook”对象。这个头文件描述了tfenotebook.c中的公共函数。你可能会发现,除了notebook_page_close之外,其他函数都是的高级函数分别是。有两层。其中之一是tfe_text_view…,它是较低层。另一个是note_book…,这是更高的层次。原创 2023-01-13 21:20:47 · 805 阅读 · 0 评论 -
十三、Gtk4-TfeTextView函数
TfeTextView相关函数在这一章节介绍。原创 2023-01-13 21:19:13 · 565 阅读 · 0 评论 -
十二、Gtk4-信号
每个对象都封装在Gtk程序中。而且不推荐使用全局变量,因为它们容易使程序变得复杂。因此,我们需要一些东西来在对象之间通信。有两种方法可以做到这一点。函数的调用者或连接到信号的处理程序通常位于对象之外。这两者之间的区别之一是对象是主动的或被动的。在函数中,对象被动地响应调用者。对象主动向处理程序发送信号。GObject信号被注册、连接和发射。原创 2023-01-12 21:06:37 · 754 阅读 · 0 评论 -
十一、Gtk4-Instance Initialization and destruction
文本文件编辑器(tfe)的新版本将在本节和以下四节中编写。它是tfe5。与之前的版本相比,有很多变化。它们位于两个目录中,src/tfe5和src/tfetextview。原创 2023-01-12 19:27:05 · 717 阅读 · 0 评论 -
十、Gtk4-Build system
到目前为止,我们已经编译了一个小型编辑器。但一些不好的迹象已经开始出现。这些思想对于管理大型源文件很有用。原创 2023-01-11 19:57:20 · 820 阅读 · 0 评论 -
九、Gtk4-UI设计工具Cambalache和Drafting
Ubuntu 22.04 adm64 (作者在Ubuntu20.04 arm64系统安装过,但是按照Gobject-intro包,会造成啊appindictor错误,无法开机进入桌面,由于知识水平和时间有限,没有寻找原因)文中前一部分重复了第一节Gtk4编译过程(因为Cambalache需要broadway-backend=true)原创 2023-01-11 03:16:33 · 1622 阅读 · 0 评论 -
八、Gtk4-GtkBuilder and UI file
在上一节中,我们制作了一个非常简单的编辑器。它在程序开始时读取文件,在程序结束时将文件写出来。它可以工作,但不是很好。如果我们有“新建”、“打开”、“保存”和“关闭”按钮就更好了。本节介绍如何在窗口中放置这些按钮。上面的截图展示了布局。源代码tfe2.c中的app_open函数如下所示。函数app_open在主应用程序窗口中构建构件。构件件构建行的数量是33(=57-25+1)。我们还需要许多变量(boxv、boxh、dmy1等),其中大多数只用于构建窗口组件。有什么好的解决方案来减少这些工作吗?原创 2023-01-10 14:34:08 · 846 阅读 · 0 评论 -
七、Gtk4-Defining a final class
在上一节中,我们创建了一个非常简单的文件查看器。现在我们继续重写它,并将其转换为非常简单的编辑器。它的源文件是tfe目录下的tfe1.c(文本文件编辑器1)。GtkTextView是一个多行编辑器。因此,我们不需要从头开始编写编辑器。我们只需要在文件查看器中添加两件事:有两种方法可以存储指针。使用全局变量很容易实现。定义一个指向GFile的指针数组。例如,变量f[i]对应于与第i个GtkNotebookPage关联的文件。然而,有两个问题。第一个是数组的大小。如果用户提供了太多的参数(在上面的例子中超过2原创 2023-01-07 20:51:58 · 825 阅读 · 0 评论 -
六、Gtk4-Widgets (3)
文件查看器是一个显示文本文件的程序。我们的文件查看器将按如下方式工作。当给出参数时,它将第一个参数识别为文件名并打开它。第二个参数和后面的参数会被忽略。如果没有参数,它会显示一条错误消息并退出。如果它成功打开文件,它读取文件的内容,将它们插入 GtkTextBuffer并显示窗口。如果打开文件失败,它会显示一个错误消息并退出。程序如下所示。原创 2023-01-07 16:27:29 · 570 阅读 · 0 评论 -
五、Gtk4-Strings and memory management
GtkTextView和GtkTextBuffer有使用字符串参数或返回字符串的函数。字符串和内存管理的知识对理解如何使用这些函数很有帮助。原创 2023-01-06 20:36:03 · 941 阅读 · 0 评论 -
四、Gtk4-Widgets (2)
GtkTextView是一个用于多行文本编辑的构件。GtkTextBuffer是一个连接到GtkTextView的文本缓冲区。请参阅下面的示例程序tfv1.c。请看第25行。创建了一个GtkTextView实例,并将其指针赋值给tv。当GtkTextView实例被创建时,一个GtkTextBuffer实例也被创建并自动连接到GtkTextView。“GtkTextBuffer实例”将被简称为“GtkTextBuffer”或“buffer”。在下一行,指向缓冲区的指针被赋值为tb。原创 2023-01-06 19:46:50 · 798 阅读 · 0 评论 -
三、Gtk4-Widgets(1)
在前一节中,我们创建了一个窗口并将其显示在屏幕上。现在我们进入下一个主题,在这个窗口中添加部件。最简单的部件是GtkLabel。它是一个包含文本的部件。将这个程序保存到文件lb1.c中。然后编译并运行它。将出现一个消息为“Hello.”的窗口。pr4.c和lb1.c之间只有很小的变化。程序差异有助于了解两个文件之间的差异。函数gtk_window_set_child (GTK_WINDOW (win), lab)使lab标签成为窗口win的一个子构件。小心些而已。子部件不同于子对象。原创 2023-01-06 17:41:05 · 872 阅读 · 0 评论 -
二、Gtk4-GtkApplication and GtkApplicationWindow
人们编写编程代码来开发应用程序。什么是应用程序?应用程序是使用库运行的软件,其中包括操作系统、框架等。在GTK 4编程中,GTK应用程序是使用GTK库运行的程序(或可执行程序)。编写GtkApplication的基本方法如下。这是所有。非常简单。下面是代表上述方法的C代码。第一行说明这个程序包含Gtk库的头文件。函数main是C语言中的一个启动函数。变量app被定义为一个指向GtkApplication实例的指针。原创 2023-01-06 11:55:55 · 1296 阅读 · 0 评论 -
一、Gtk4-安装ubuntu 20.04 or ubuntu 18.04
查看以下几个宏 version = 2.68.3。原创 2021-11-14 08:21:08 · 3383 阅读 · 1 评论