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 ...
随机推荐
- mysql 备份语句
模板: mysqldump -h IP -u user -p 选项 dbname>d:\db.sql 选项:-f表示有错误时继续 -d 表示--no-create-db, -n表示--no-da ...
- 容器中跨主机的网络方案-flannel
容器中的网络是建立docker集群的重要内容. 本文将介绍如何用flannel实现容器的多节点互通. 下图是flannel的实现原理,摘自: http://docker-k8s-lab.readthe ...
- IPv4 forwarding is disabled. Networking will not work.
centos 7 docker 启动了一个web服务 但是启动时 报 WARNING: IPv4 forwarding is disabled. Networking will not work. 网 ...
- 专题练习HDU题集 图论
[图论01]最短路 Start Time : 2018-01-02 12:45:00 End Time : 2018-01-23 12:45:00 Contest Status : Runnin ...
- 用nfs挂载内核时出错 ERROR: Cannot umount的解决办法
SMDK2440 # nfs 30000000 192.168.1.106:/work/nfs_root/uImage ERROR: resetting ...
- [iOS]UIImageView增加圆角
[iOS]UIImageView增加圆角 "如何给一个UIImageView增加圆角?有几种方法?各自区别?" 备注:本文参考自http://www.jianshu.com/p/d ...
- delphi VCL组件同名继承
当我们在扩展一个 vcl 组件功能的时候,既想保留IDE中能拖动大小与直接设置属性的功能,又想减少写创建与释放代码和安装扩展后新组件的麻烦,那么本文中的方法,就非常实用了. 以给TStringGrid ...
- VxVM如何扩展和收缩卷及文件系统
1. 同时扩展卷和文件系统 先用vxassist命令检查DG可用空间 [root@rhelnode1 ~]# vxassist -g testdg maxsize Maximum volume siz ...
- 【转】如何使用Java、Servlet创建二维码
归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...
- zabbix启动web界面提示:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
问题 zabbix启动web界面提示: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ( ...