GTK+介绍
Posted 银魔术师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]: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 +时制作加载/介绍动画弹出窗口