• 【GTK编程】安装与测试


    版权声明:本文为博主原创文章,转载请注明出处。 https://www.cnblogs.com/YaoYing/p/12054812.html

    前言

    领导让做个类似平板触摸的GUI程序,通过触摸两块区域,实现背景图片的左右切换。本来想用QT开发的,了解到前同事用的GTK做的,所以我就接触学习了一下。通过一周的学习和编程,基本功能已经实现,但是效果比较简陋粗糙,不是非常完美。

    于是领导改用别的方案了,不知GTK本身是否如此,还是本人学艺不精,这个只能后续慢慢验证。现在把这一周学到的东西和遇到的问题做个笔记,也和大家相互交流学习。

    遇到的问题

    一、程序运行界面只是打开一个窗口,不能实现全屏显示。
    
    二、程序启动后,鼠标一直都在,想尽办法让鼠标1S隐身,但是还不是完美消失。
    
    三、当触摸两块响应区域的时候,区域背景颜色改变,当手离开时,因为鼠标指针依旧停留在该区域,导致区域背景颜色不能恢复正常,且背景改变的颜色不能修改,只能使用系统默认颜色(灰色)。
    

    学习笔记

    什么是GTK

    GTK就是一个图形库,利用它可以在GNU/Linux下开发图形界面,是一种主流的开发工具

    既然它是一个开发工具,那我们只需要知道如何使用它即可,至于更深层的现在接触不到,以后慢慢研究吧。

    安装GTK

    更新软件

    sudo apt-get update
    

    更新软件库

    sudo apt-get upgrade
    

    安装gtk2.0 或者 将gtk+2.0所需的所有文件统通下载安装完毕

    sudo apt-get install libgtk2.0-dev
    或者
    sudo apt-get install libgtk2.0*
    

    查看版本号

    pkg-config --modversion gtk+-2.0
    

    出现版本号,表示安装成功

    测试程序

    #include <gtk/gtk.h>
    
    //主函数
    int main (int argc,char * argv[])
    {
       	GtkWidget * window;
     
       	//初始化整个GTK+程序,是每一个GTK+程序必不可少的部分
       	gtk_init(&argc,&argv);
     
     	//创建一个窗口
       	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    
       	//设置串口的标题
       	gtk_window_set_title(GTK_WINDOW(window),"Test窗口");
    
       	//为窗口注册回调函数
       	g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
     
      	//显示窗口
       	gtk_widget_show_all(window);
       	
       	//所有的 GTK 程序必须有一个gtk_main()函数。
        //程序运行停在这里等待事件(如键盘事件或鼠标事件)的发生。
       	gtk_main();
    
       	return 0;
    }
    

    编译代码

    把上面的源代码保存到test.c文件中,将test.c文件进行编译生成test可执行文件

    gcc test.c -o test `pkg-config --cflags --libs gtk+-2.0`
    

    运行程序

    ./test
    

    结果如下:

    更新日期20191218
    如有任何问题,请评论或者私信,非常感谢

  • 相关阅读:
    Linux下VFP NEON浮点编译
    硬浮点 VFP
    程序员如何避免猝死?
    程序员谨防加班猝死之十大建议
    linux系统调用和库函数调用的区别
    彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义
    LoadRunner监控mysql利器-SiteScope(转)
    linux mysql 数据库开启外部访问设置指南
    Java Web自定义MVC框架详解 (转)
    Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)
  • 原文地址:https://www.cnblogs.com/YaoYing/p/12054812.html
Copyright © 2020-2023  润新知