【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
如有任何问题,请评论或者私信,非常感谢
【GTK编程】安装与测试的更多相关文章
- http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站
http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站 http_load -p 50 -s 120 urls
- my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接
一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...
- OpenCV2+入门系列(一):OpenCV2.4.9的安装与测试
这里假设看到这篇文章的人都已经对OpenCV以及机器视觉等最基础的概念有了一定的认识,因此本文不会对OpenCV做任何的介绍,而是直接介绍OpenCV2.4.9的安装与测试.此外本文只是简单的介绍如何 ...
- 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试
决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...
- coreseek实战(一):windows下coreseek的安装与测试
coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...
- Window下memcached安装与测试步骤
如何在Window下memcached安装与测试步骤 工具/原料 电脑 memcached 软件 方法/步骤 软件包下载 下载Memercached For Windows:http://downlo ...
- 【MySql】5.6.14版本的安装和测试
当前状态:apache2.4.6和php5.5.6已经安装成功: mysql的安装和测试: 一.安装mysql5.6.14,参考http://wenku.baidu.com/link?url=_0jk ...
- jdbc_odbc SQLserver 驱动安装及测试
有2次被问到同一个问题,尽管博客园是.net的园子,我还是分享下吧.PS:我现在做的.net,以前学过点java.献丑了. ------------------ 原始邮件 -------------- ...
- mosquitto在Linux环境下的部署/安装/使用/测试
mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...
- Docker的安装和测试
1,Docker安装 Docker是啥,以及其与虚拟机的对比,就不介绍了,网上有很多资源可以学习和了解. 本篇文章重点介绍Docker的安装和测试使用. Docker的安装,分为离线安装和在线安装两种 ...
随机推荐
- nyoj 517-最小公倍数 (python range(start, end) range(length))
517-最小公倍数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:2 提交数:11 难度:3 题目描述: 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致. 但也并 ...
- UNIX env查找技巧
在一些UNIX系统上,也许可以避免硬编码Python解释器的路径,而可以在文件特定的第一行注释中这样写: #!/usr/bin/env python ... script goes here ... ...
- SoapUI使用JDBC请求连接数据库及断言的使用
SoapUI提供了用来配置JDBC数据库连接的选项,因此我们可以在测试中使用JDBC数据源.JDBC数据接收器和JDBC请求步骤. 为了能够配置数据连接,就必须有驱动程序和连接串,SoapUI中已经提 ...
- vant-ui的van-area使用
由于官方例子中并没有太多详情,因此记录之,方便以后使用. 1.配置 :area-list="areaList",以初始化全部省市区的数据,其中area.js文件在官方可以下载,放于 ...
- JavaWeb02-Servlet
Servlet概述 生命周期方法: l void init(ServletConfig):出生之后(1次): l void service(ServletRequest request, Serv ...
- 2019-9-9:渗透测试,基础学习,pydictor使用,sql盲注,docker使用,笔记
pydictor,强大的密码生成工具,可以合并密码字典,词频统计,去重,枚举数字字典生成字典python3 pydictor.py -base d --len 4 4 生成纯数字4位密码python3 ...
- no matches for kind "Deployment" in version "extensions/v1beta1"
0x00 Problem [root@k8sm90 demo]# kubectl create -f tomcat-deployment.yaml error: unable to recognize ...
- CoreDNS安装及集群验证
目录 叙述 安装 测试 一 测试 二 CoreDNS 叙述 截止到目前为止,整个集群的核心组件已经安装完成. 此时集群内部还需要 CoreDNS 组件的支持. 安装 CoreDNS 是以 Pod 的形 ...
- python初识-环境搭建,变量,条件,循环语句
1.python环境搭建: (1)安装Anaconda ,可选择非C盘安装: 注意:都勾选: (2)安装Pycharm 默认安装即可,安装过程同样都勾选: (3)破解Pycharm https://w ...
- centos7安装fail2ban
fail2ban是一款非常实用的安全软件,通过监视系统日志,设置错误登陆次数,可阻挡暴力密码攻击. 1.安装epelyum install epel-release -y 2.安装fail2banyu ...