zoukankan      html  css  js  c++  java
  • 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=""/>属性
    
  • 相关阅读:
    git回滚分支版本到指定版本
    java的垃圾回收
    java对象模型
    java内存模型
    偏向锁浅析
    maven打包报错:在类路径或引导类路径中找不到程序包 java.lang
    《microsoft sql server 2008技术内幕 t-sql语言基础》
    《SQL基础教程》
    内连接,外链接(左连接、右连接、全连接),交叉连接大总结+附SQL JOINS图解[转]
    《大型网站技术架构》1.大型网站架构演练
  • 原文地址:https://www.cnblogs.com/silvermagic/p/9087640.html
Copyright © 2011-2022 走看看