GTK+介绍
GTK+介绍
GTK+ 学习
### 在Ubuntu系统下
$ sudo apt-get intall gtk-3-examples
GTK+ 依赖的函数库
- Glib
提供了各种各样的语言特性,譬如说:各种数据类型、字符串函数、错误通知、消息队列和线程的通用的函数库。
- Pango
用来实现国际化和本地化功能的函数库。
- ATK
一种平易近人的工具函数包,提供了快捷键服务为肢体有缺陷的人使用电脑提供了便利。
- GDK
它为整个 GTK+图形库系统提供了一些底层的"图形实现"和"窗口实现"的方法。在Linux中GDK是位于X服务器和GTK+函数库之间的。在最近的GTK+发行版本中,越来越多的功能性函数,都交给了 Cairo函数库来处理。
- GdkPixbuf
用于加载图像和维护图像"缓存"(pixel buffer)的函数库工具包。
- Cairo
用于制作二维图像的函数库
关于展开和填充
部件大小就是我们按钮的大小,布局空间大小我们放置按钮的空间大小,比如我们在一个窗口设置了一个2条目的Gtk.Box,则每个布局空间大小就是1/2窗口大小
- 展开:设置了展开,则当部件比布局空间小的时候,布局空间大小不变,否则布局空间缩小到部件大小
- 填充:让部件放到到布局空间大小
关于对齐
就是当布局空间过大,但是放置的部件不好直接展开和填充的情况下,使用对齐来进行展开和填充,然后调整部件的缩放比例和位置。就是不想改变按钮大小,但是又希望布局空间大小不变可以使用对齐布局来处理。
使用Glade来创建布局
Windows环境
- 编译环境
操作系统: 64位 Fedora23
- 下载源文件
$ git clone git@github.com:silvermagic/glade.git
$ cd glade
$ git checkout msitools
- 安装依赖
$ sudo yum install -y mingw64-gcc-5.3.0-1.fc23.x86_64 mingw64-filesystem.noarch mingw64-gtk3.noarch mingw64-libxml2.noarch mingw32-nsis.x86_64
- 编译glade
$ ./autogen.sh
$ mingw64-configure
$ mingw64-make -j8
### 将在data目录下生成glade的msi安装文件
$ mingw64-make msi
错误处理
- 工具栏新建、打开等按钮消失提示
Gtk-WARNING **: Error loading theme icon 'image-missing' for stock
### 打包msi的时候需要打包mingw64-hicolor-icon-theme和mingw64-adwaita-icon-theme,使用下面的命令生成wxi文件
$ rpm -ql mingw64-adwaita-icon-theme | wixl-heat -p /usr/x86_64-w64-mingw32/sys-root/mingw/ --component-group CG.adwaita-icon-theme --var var.SourceDir --directory-ref=INSTALLDIR > adwaita-icon-theme.wxi
### 修改<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">为<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">,然后删除其中的.cache文件
- 程序无法启动
看下是不是打包msi的时候少了动态库,根据configure.ac的check_module打包对应库
- msi安装的时候提示
Could not write value VersionMajor to key
### 1.msi的版本号格式需要是<Product Version="MAJOR.MINOR.MICRO">的格式
### 2.新增<Property Id="VersionMajor" Value=""/>、<Property Id="VersionMinor" Value=""/>和<Property Id="VersionMicro" Value=""/>属性
GTK+介绍的更多相关文章
- Gtk+/Gtkmm介绍与安装(有继承关系图)
GTK+是一套跨平台的,以C语言编写的GUI类库,它起源于GNU的图像处理程序"GIMP",因而被起名为"The GIMP Toolkit",从一开始它就被设计 ...
- Linux基础介绍【第一篇】
Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...
- Unix及类Unix系统文本编辑器的介绍
概述 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Em ...
- C语言基于GTK+Libvlc实现的简易视频播放器
小编心语:现下,各种视频播放软件层出不穷,竞争也越演越烈,不知道大家有木有这个想法,小编有时在想能不能做一款属于自己的视频播放器呢~小编特意去实验楼,整理出了这篇关于如何实现简易视频播放器的博文.简易 ...
- 虚拟机VMware与主机共享文件介绍
我们经常会在Windows平台安装虚拟机VMware,不管是出于实验测试还是工作需要,伴随而来的就是经常需要在Windows系统和虚拟机系统之间进行共享数据文件,例如,需要将Window主机上的Ora ...
- 介绍一个非常好用的跨平台C++开源框架:openFrameworks
介绍一个非常好用的跨平台C++开源框架:openFrameworks 简介 首先需要说明的一点是: openFrameworks 设计的初衷不是为计算机专业人士准备的, 而是为艺术专业人士准备的, 就 ...
- wxWidgets编译安装gtk问题的解决办法
下面是google到的一篇博文.我在centos5.3中想安装amule,结果编译时,提示没找到wxWidgets退出了.只好又去下了wxWidgets,还是源码,需要编译.编译中出现和下面这位网友一 ...
- C++类库介绍
如果你有一定的C基础可能学起来比较容易些,但是学习C++的过程中又要尽量避免去使用一些C中的思想:平时还要多看一些高手写的代码,遇到问题多多思考,怎样才能把问题抽象化,以使自己头脑中有类的概念:最后别 ...
- python 标准库和第3方库的介绍
忘了从哪里来的了~~~~ Tkinter———— Python默认的图形界面接口.Tkinter是一个和Tk接口的模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组.T ...
随机推荐
- VisualPage重定向
开发文档链接:https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_quick_start_override ...
- flask之instance_path实例路径
Flask 0.8 introduces instance folders. Flask for a long time made it possible to refer to paths rela ...
- php之laravel学习
http://laravel-china.github.io/php-the-right-way/#composer_and_packagist laravel 添加 dingoapi路由插件 并运用 ...
- Poj 2395 Out of Hay( 最小生成树 )
题意:求最小生成树中最大的一条边. 分析:求最小生成树,可用Prim和Kruskal算法.一般稀疏图用Kruskal比较适合,稠密图用Prim.由于Kruskal的思想是把非连通的N个顶点用最小的代价 ...
- Mongodb 副本集的节点详细操作
副本集操作 官方文档:https://docs.mongodb.com/v3.2/reference/method/js-replication/ 1 rs.add(){ _id: <int&g ...
- java中实现多线程的方法有几种以及如何实现多线程
多线程是java语言区别于其它语言的一大特点.其它语言向C++的话如果要实现多线程的话,必须调用操作系统的多线程机制(我不确定自己记得对不对 了感兴趣的自己上网查查看). 在java5以前实现多线程有 ...
- pthread_cond_wait 详解
转自:http://www.xuebuyuan.com/2173853.html pthread_cond_wait() 用于阻塞当前线程,等待别的线程使用pthread_cond_signal()或 ...
- Python函数(二)-参数传递
位置参数 根据位置顺序来传递参数 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" def test(a,b): #a和b为形参 ...
- Delphi BLE 控件
TBluetoothLEDevice LDevice.Address;//"00:11:22:DD:EE:FF". LDevice.DeviceName//Mi LDevice.I ...
- UIView显示原理和过程
一.UIView显示原理 一个控件,UIView之所以可以显示,是因为内部在UIView的内部有一个layer属性作为根图层,根图层上可以放其他子图层,在UIView中所有能够看到的内 ...