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=""/>属性