Linux 下从头再走 GTK+-3.0 (一)

  原本由于项目需求在 Linux 下学习过一段时间的 GTK+2.0 图形开发,时隔一段时间,想真正深入学习一下 GTK 。

这次直接从头学习 GTK+-3.0 ,并写下博文便于日后查看,也方便新手入门。

  安装环境参考:

    Fedora:http://www.cnblogs.com/watsonlong/archive/2011/04/06/2006989.html

    Ubuntu:http://www.cnblogs.com/niocai/archive/2011/07/15/2107472.html

    Arch    :直接执行 sudo pacman -S gtk3 即可。

  注意采用的是GTK3,上文中大部分是GTK2,注意同样的方式安装GTK3。

 

 首先学习到的便是创建一个空白的窗口。我们创建一个名为 example.c 的源文件。内容如下

 1 #include <gtk/gtk.h>            //每个GTK程序都要包含的头文件,里面申明了很多类型,函数原型等
 2
 3 static void activate (GtkApplication *app , gpointer data)
 4 {
 5     GtkWidget *window;                                                                                        //申明一个窗口
 6
 7     window = gtk_application_window_new(app);                                           //为app创建一个窗口
 8
 9     gtk_window_set_title(GTK_WINDOW(window) , "Application");              //设置窗口的标题
10    gtk_window_set_default_size(GTK_WINDOW(window) , 200 , 200);    //设置窗口默认大小为长宽各200像素
11    gtk_widget_show_all(window);                                                                      //显示窗口
12 }
13
14
15 int main(int argc , char **argv)  //主函数
16 {
17     GtkApplication *app;          //申明创建一个 GtkApplicatin对象名为app
18     int app_status;               //用于拿到app 运行结束后的返回值
19
20     app = gtk_application_new("org.rain.gtk" , G_APPLICATION_FLAGS_NONE);  //创建一个application
21     g_signal_connect(app , "activate" , G_CALLBACK(activate) , NULL);      //连接信号,初始化app时,调用 activate 函数
22     app_status = g_application_run(G_APPLICATION(app) , argc , argv);      //运行app
23
24     g_object_unref(app);                                                  //销毁app
25
26     return app_status;
27 }

  如下方式编译源文件,并执行生成的example可执行文件。

gcc example.c `pkg-config --cflags --libs gtk+-3.0` -Wall -o example
./example

  运行结果如下:

时间: 2024-10-08 13:17:53

Linux 下从头再走 GTK+-3.0 (一)的相关文章

Linux 下从头再走 GTK+-3.0 (三)

之前我们为窗口添加了一个按钮,接下来让这个按钮丰富一点.并给窗口加上图标. 首先创建 example3,c 的源文件. #include <gtk/gtk.h> static void activate(GtkApplication *app , gpointer data); //从文件中加载一张图片 GdkPixbuf *create_pixbuf(const char *image_name); int main(int argc , char **argv) { GtkApplicat

Linux 下从头再走 GTK+-3.0 (六)

在 GTK3 中增加了一个 GtkApplicaton 类,便于我们处理多窗口程序,同时有了 GtkApplication 我们也更容易创建灵活,易用,界面美观的应用程序. 在前面的几个例子中,演示了如何利用 GtkApplication 直接创建单个窗口,并知道了在哪里设计我们的 UI .以及简单尝试了 GtkBuilder . 接下来,我们走进 GtkApplication .采用面向对象的设计方式设计我们的应用. 我们想要封装一个 MyApp 和 MyAppWindow , 它继承了 Gt

Linux 下从头再走 GTK+-3.0 (二)

仅仅创建一个空白窗口是不够的,下面我们为创建的窗口添加一个按钮. 以 Hello,World!为例. 首先创建一个源文件:example2.c 内容如下. #include <gtk/gtk.h> //点击按钮后被调用的函数,用于输出hello,world static void print_msg (GtkWidget *button , gpointer data) { printf("Hello , world!\n"); } static void activate

Redhat linux下安装oracle11r2手册+截图_toto_V1.0

 在Linux下安装配置Oracle 11g R2详细过程(在整个过程中是在虚拟机下模拟的,虚拟机磁盘设置成了100GB) 1.Linux环境配置准备 环境:Linux:Redhat Enterprise 6,DB:Oracle 11gR2 X64,Oracle安装到/home/oralce_11目录下. 配置过程如下:(大部分是网上的内容,个人也是按照网上步骤来的) 1) 检查基本需求(对于牛逼的服务器来说,这个肯定是满足要求的,可以跳过) 内存大小 grep MemTotal /proc

Linux下安装二进制版mysql-8.0.15

1.添加用户## 添加用户组groupadd mysql## 添加用户,指定用户home目录useradd -g mysql mysql -d /data/mysql## 解压下载的mysql二进制包tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz -C /data/mysql## 如果需要修改目录名称,mv修改目录名称,不多说明## 因/data目录有比较大的磁盘空间,防止后期数据量太大,导致磁盘空间不够,将mysql的包及相关配置放在/d

linux下如何编译安装gcc-8.3.0

1. 获取源码 wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz -P ~ tar xvf gcc-8.3.0.tar.xz -C ~ cd ~/gcc-8.3.0 2. 运行 download_prerequisites 脚本 ./contrib/download_prerequisites 3. 创建编译目录 mkdir build-gcc-8.3.0 cd build-gcc-8.3.0 4. 配置 ..

如何实现Linux下的U盘(USB Mass Storage)驱动

摘要 本文主要介绍了USB Mass Storage的相关的各种协议之间的关系,以及如何在Linux的USB驱动框架下实现U盘驱动 本文提供多种格式供: 在线阅读 HTML HTMLs PDF CHM TXT RTF 下载(7zip压缩包) HTML HTMLs PDF CHM TXT RTF HTML版本的在线地址为: http://www.crifan.com/files/doc/docbook/usb_disk_driver/release/html/usb_disk_driver.htm

实现Linux下的U盘(USB Mass Storage)驱动

如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Crifan Li 摘要 本文主要介绍了USB Mass Storage的相关的各种协议之间的关系,以及如何在Linux的USB驱动框架下实现U盘驱动 本文提供多种格式供: 在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP 下载(7zip压缩包) HTML HTMLs PDF

Linux下配置PHP开发环境

转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件外,还要安装一些相关工具,设置必要参数.而且,如果要使用PHP扩展库,还要进行编译.安装之前要准备如下安装包: http-2.2.8.tar.gz.下载地址:http://www.apache.org. php-5.2.5.tar.gz.下载地址:http://www.php.net/downloa