GTK+介绍

官方文档

GTK+ 学习

### 在Ubuntu系统下
$ sudo apt-get intall gtk-3-examples

GTK+ 依赖的函数库

  • Glib
  • Pango
  • ATK
  • GDK
  • GdkPixbuf
  • Cairo

关于展开和填充

部件大小就是我们按钮的大小,布局空间大小我们放置按钮的空间大小,比如我们在一个窗口设置了一个2条目的Gtk.Box,则每个布局空间大小就是1/2窗口大小

  • 展开:设置了展开,则当部件比布局空间小的时候,布局空间大小不变,否则布局空间缩小到部件大小
  • 填充:让部件放到到布局空间大小

关于对齐

就是当布局空间过大,但是放置的部件不好直接展开和填充的情况下,使用对齐来进行展开和填充,然后调整部件的缩放比例和位置。就是不想改变按钮大小,但是又希望布局空间大小不变可以使用对齐布局来处理。

使用Glade来创建布局

Windows环境

  • 编译环境
  • 下载源文件
$ 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安装的时候提示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=""/>属性
05-12 11:49