这里的说的架构并不是GTK原码的架构,而是使用时的架构。
以后程序大了后,每个构件的独立出来,用构件分块,而不是下面那样按类型分层
#include <gtk/gtk.h>
gint close_application( GtkWidget *widget, GdkEvent *event, gpointer data );
int main (int argc, char *argv[])
{
// 初始化
gtk_init (&argc, &argv);
// new 构件
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
GtkWidget *button = gtk_button_new_with_label("close");
// 组合构件
gtk_container_add(GTK_CONTAINER(window), button);
// show()出来
gtk_widget_show (window);
// 构件的响应事件
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (close_application), window);
// 运行GTK
gtk_main ();
return 0;
}
gint close_application( GtkWidget *widget, GdkEvent *event, gpointer data )
{
gtk_main_quit ();
return FALSE;
}
分享到:
相关推荐
这表明该软件是LumaQQ的一个版本,专为Linux系统设计,特别是针对gtk2图形库构建的,适用于x86架构(32位)的系统,并且无需Java运行环境(JRE)。这意味着用户无需额外安装JRE即可运行,降低了系统的资源占用。 ...
8. **高级特性**:高级话题可能包括使用GTK构建复杂的应用架构,如模型-视图-控制器(MVC),以及如何利用GTK+3或GTK+4的新特性。 9. **示例代码**:教程通常会提供实际的代码示例,帮助读者理解概念并动手实践。 ...
GTK+的设计基于一个称为“模型-视图-控制器”(Model-View-Controller,MVC)的架构模式,这使得代码结构清晰,易于维护。模型存储数据,视图负责展示数据,而控制器处理用户输入和视图之间的交互。GTK+中的信号和回...
7. **模型-视图-控制器(MVC)架构**: 在PyGTK中,列表视图(TreeView)和模型(Model)的结合展示了MVC的设计模式。通过例子,你可以了解如何创建自定义数据模型,并将其绑定到显示控件。 8. **主题与国际化**: ...
5. **x86**:表示这个版本是为32位(x86架构)的处理器设计的。虽然现在64位系统更普遍,但依然有一些32位系统用户需要这样的软件。 6. **no_jre**:JRE(Java Runtime Environment)是运行Java应用程序所必需的...
**1.12 GTK的对象导向架构** GTK采用对象导向的设计模式,其中每一个GUI元素都是一个对象。例如,窗口、按钮等都是GTK对象的具体实例。 **1.2 Signal与Callback** 信号和槽机制是GTK中的一个重要概念,用于实现...
根据提供的文件信息,我们可以深入探讨与“eclipse-committers-2018-09-linux-gtk-x86_64.tar”相关的几个关键知识点,包括Eclipse平台、Linux环境下的开发工具、GTK以及x86_64架构等。 ### Eclipse 平台 Eclipse ...
jee-juno-SR2-linux-gtk-x86_64.tar.gz" 指示的是一个特定版本的Eclipse集成开发环境(IDE)针对Java企业版(Java Enterprise Edition,简称JEE)的发行包,适用于Linux操作系统,并且是64位(x86_64)架构的。...
标签“PCL win10 64”进一步确认了这个压缩包与PCL库、Windows 10操作系统以及64位架构的相关性。 压缩包中的子文件包括: 1. gtk+-bundle_3.10.4-20131202_win64.README.txt:这是一个读我文件,通常包含了安装或...
java-2022-06-R-linux-gtk-x86_64.tar.gz”指的是Eclipse IDE for Java开发者的特定版本,适用于2022年6月发布(R代表Release),针对Linux操作系统,采用GTK图形用户界面,并且是为64位(x86_64)架构设计的。...
标题中的“eclipse-java-2019-09-R-linux-gtk-x86_64.tar.gz”指的是Eclipse IDE的一个特定版本,用于Java开发,并且是为Linux操作系统(GTK+图形用户界面库)的64位架构设计的。这个版本发布于2019年9月,版本号为R...
GTK+ 3是当前的稳定版本,但其后续版本GTK+ 4已经发布,带来了许多改进,包括更好的性能、现代API和新的渲染架构。GTK+ 4简化了一些复杂性,并引入了新的布局管理器,以提高开发效率。 学习GTK编程,需要理解GTK的...
标题中的“eclipse-java-2022-03-R-linux-gtk-x86_64.tar.gz”指的是Eclipse IDE for Java开发者的特定版本,适用于2022年3月发布(R代表Release),针对Linux操作系统x86_64架构。这个压缩包采用的是tar.gz格式,是...
标题 "eclipse-cpp-juno-SR2-linux-gtk-x86_64.tar.gz" 指示的是一个Eclipse集成开发环境(IDE)的特定版本,针对C++编程,适用于Linux操作系统,并且是64位架构。这个版本被称为Juno Service Release 2(SR2)。...
标题中的“eclipse-committers-2019-03-R-linux-gtk-x86_64.tar.gz”是一个特定版本的Eclipse IDE的压缩包文件,发布于2019年3月,针对Linux GTK环境,适用于64位(x86_64)架构。Eclipse是一款强大的开源集成开发...
Eclipse C++ Luna SR2 是一个专为Linux环境设计的强大集成开发环境(IDE),尤其针对GTK图形库优化,适用于x86_64架构的计算机。这个版本的Eclipse,即4.4版本,提供了丰富的功能,旨在提升C++开发者的工作效率,为...
“Linux x86_64”意味着该软件包适用于基于x86架构的64位Linux系统。x86_64,也称为AMD64或EM64T,是64位版本的x86指令集,广泛应用于现代个人电脑和服务器中。 GTK(GIMP Toolkit)是用于创建图形用户界面的库,...
"eclipse-jee-2020-06-R-linux-gtk-x86_64.tar.gz" 是Eclipse针对Linux操作系统的一个特定版本,发布于2020年6月,适用于64位(x86_64)架构,并采用GTK+图形用户界面库。这个版本是专为Java企业版(Java Enterprise...