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…
原本由于项目需求在 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.htm…
实践中表明,纯粹利用 gtk 函数来创建 UI 是很繁琐的事,需要编写很多代码.怎样才能快速统一的建立 UI 布局呢? 可喜的是 GTK 提供了一个 GtkBuilder 用于快速创建界面.它读取一个 xml 文件.按照 xml 文件中所描述的来创建界面.因此我们需要编写 xml 文件. 创建example.ui ,内容如下: <?xml version="1.0" encoding="UTF-8"?> <interface> <obj…
之前我们为窗口添加了一个按钮,接下来让这个按钮丰富一点.并给窗口加上图标. 首先创建 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…
在 GTK3 中增加了一个 GtkApplicaton 类,便于我们处理多窗口程序,同时有了 GtkApplication 我们也更容易创建灵活,易用,界面美观的应用程序. 在前面的几个例子中,演示了如何利用 GtkApplication 直接创建单个窗口,并知道了在哪里设计我们的 UI .以及简单尝试了 GtkBuilder . 接下来,我们走进 GtkApplication .采用面向对象的设计方式设计我们的应用. 我们想要封装一个 MyApp 和 MyAppWindow , 它继承了 Gt…
实际的应用中,往往有很多个控件, 同样GTK提供了很多种布局方案,Box, Fixed , Table , Grid 等. 接下来试试网格布局 Grid. 我们创建 example4.c ,内容如下: #include <gtk/gtk.h> static void print_hello(GtkWidget *button , gpointer data); static void activate(GtkApplication *app , gpointer data); int main…
七. SECTIONS命令 SECTIONS命令告诉ld如何把输入文件的sections映射到输出文件的各个section: 如何将输入section合为输出section; 如何把输出section放入程序地址空间(VMA)和进程地址空间(LMA). 该命令格式如下: SECTIONS { SECTIONS-COMMAND SECTIONS-COMMAND - } SECTION-COMMAND有四种: (1) ENTRY命令 (2) 符号赋值语句 (3) 一个输出section的描述(out…
通过前文Linux 下UVC&V4L2技术简单介绍(一)我们了解了UVC和V4L2的简单知识. 这里是USB设备的文档描写叙述:http://www.usb.org/developers/docs/devclass_docs/ 那么假设我们想执行一个UVC的camera设备须要做哪些工作呢? 我简单的查看了几个CM项目的kernel配置文件,发如今这些系统里面的V4L2的驱动配置选项都是打开的,可是CONFIG_USB_VIDEO_CONFIG选项是没有打开的,也就是说在如今CM支持的机型里面默…
注:因为网络原因,这个mysql安装是我以前在学校的时候找到的一个安装包,不过也找到了下载的地址:http://www.itmop.com/downinfo/143061.html下载完成后,把文件上传到系统里面(个人习惯在 /usr/local/MSQLdatabase 目录下面,你们可以在 /usr/local 目录下创建自己喜欢的目录名称)第一步:解压 (这个不是常规的 .tar.gz 包 所以参数也不一样)tar -xvf mysql-5.7.12-1.el6.x86_64.rpm-bu…
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. 配置 ..…