关键词:
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=""/>属性
windows下安装并使用gtk4(代码片段)
...安装GTK4的文章《Ubuntu20.04LTS(amd64)下安装GTK4》,现在介绍如何在Windows下安装并使用GTK4。第一步安装Mingw1️⃣下载并安装mingw 下载地 查看详情
gtk#tutorial(代码片段)
ThisisGTK#tutorialfortheC#programminglanguage.Thistutorialissuitableforbeginnersandmoreadvancedprogrammers.GTK#GTK#isawrapperovertheGTK+fortheC#programminglanguage.Thelibraryfacilitatesbuildinggraphic 查看详情
简单的gtk窗体搭建(代码片段)
#include<gtk/gtk.h>//必须引用gtk/gtk.h这个头文件2intmain(intargc,char*argv[])//标准c语言主函数的声明34GtkWidget*window;//声明一个窗口控件的指针,其中GtkWidget是gtk+2.0控件类型。window是变量名,与变量类型无关56gtk_init(&argc,&argv);//... 查看详情
textcmake和gtk+3(代码片段)
python一个简单的gtk+视窗。(代码片段)
gtk3+gtkprogressbar使用(代码片段)
#include<gtk/gtk.h>gbooleantimeout_callback(gpointerdata)gdoublevalue;GString*text;value=gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(data));value+=0.01;if(value>1.0)value=0.0;gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(data),value);text=g_string_new(gtk_progress_bar_get_text(GTK_PROGR... 查看详情
gtk入门(代码片段)
环境准备官网下载GTK源码包,因为本机GLib版本不够,下载一个非最新版的GTK3.8.0先学习用直接阅读"/gtk+-3.8.0/docs/reference/gtk/html/gtk-building.html"进行操作安装完毕,gtk3-demo出来gtk的样例界面即安装搞定实例学习编译命令和编... 查看详情
用cmake构建gtk程序(代码片段)
情况说明先前已经在windows下基于GDI实现了一个简陋的imshow。考虑跨平台,也考虑万一某天M$不让我们用盗版系统了,还是需要实现一个Linux下的imshow。GTK相当于GDI在Linux下的一个替代。我用的ubuntu16.04,unity桌面,因此估计是系统... 查看详情
c指针原理(26)-gtk(代码片段)
下面演示了如何在窗口中增加一个按钮,示例代码均有注释?#include?<gtk/gtk.h>static?void?print_hello?(GtkWidget?*widget,gpointer?data)//这是一个回调函数,这个data表示传给回调函数的参数。??g_print?("你好,世界");static?gboolean?on_delete_event?(... 查看详情
go-gtk简单的空白窗口(代码片段)
...使用gomod。在goland中的设置:第一次运行点击这里:示例代码:packagemainimport( "github.com/mattn/go-gtk/gtk" "os")funcmain() 查看详情
gtk4设置gtkinfobar背景颜色(代码片段)
文章目录GTK4设置GtkInfoBar背景颜色一、失败的尝试二、换个思路2.1使用GtkMessageType“GTK_MESSAGE_OTHER”来实现需求2.2任意GtkMessageType下获取infobar的孙子控件box设置CSSGTK4设置GtkInfoBar背景颜色一、失败的尝试最近使用GTK4开发应用,... 查看详情
gtk4设置gtkinfobar背景颜色(代码片段)
文章目录GTK4设置GtkInfoBar背景颜色一、失败的尝试二、换个思路2.1使用GtkMessageType“GTK_MESSAGE_OTHER”来实现需求2.2任意GtkMessageType下获取infobar的孙子控件box设置CSSGTK4设置GtkInfoBar背景颜色一、失败的尝试最近使用GTK4开发应用,... 查看详情
基于gtk的imshow:用stb_image读取图像并用gtk显示(代码片段)
...用gtk显示,初步实现一个基于gtk的imshow。首先是找到一份代码,从指定的buffer创建gtk的image并显示(参考1)。然后用s 查看详情
sudoapt-getinstalllibcanberra-gtk-module(代码片段)
问题描述:Ubuntu18.04命令行执行命令报错提示:Failedtoloadmodule"canberra-gtk-module"解决方案:1、执行以下命令,相信定有奇效sudoapt-getinstalllibcanberra-gtk-module2、执行过程中,按照提示,输入Y3、再次重新执行刚才报错的命令 参考... 查看详情
gtk可能遇到的问题汇总(代码片段)
...法:codeblocks使用全局信号量必须配置-rdynamic如果你的布局代码是:拿必须错误因为你使用的是GTK2.X,<requireslib="gtk+"version="3.0"/><objectclass="GtkWindow"id="window1">解决办法:注意在命令行下使用GTK3.0开发是不会出错的<requireslib="gtk... 查看详情
glade开发gtk+界面(代码片段)
...; 给按钮设置信号控制也就是事件 3:编写代码#include<gtk/gtk.h>#include<stdio.h>//我们在UI中,为button1添加的点击函数voidbtn_click(GtkObject*object,gpointeruser_data)printf("5sssssssssssssssss");gtk_main_quit();intmain(intargc,char*argv[]... 查看详情
在gtk中缩放图像(代码片段)
在GTK中,如何缩放图像?现在我用PIL加载图像并预先缩放它们,但有没有办法用GTK做到这一点?答案使用gtk.gdk.Pixbuf从文件加载图像:importgtkpixbuf=gtk.gdk.pixbuf_new_from_file('/path/to/the/image.png')然后缩放它:pixbuf=pixbuf.scale_simple(width,hei... 查看详情
gtk4listmodel知多少?(代码片段)
【GTK4】LISTMODEL总结文章目录【GTK4】LISTMODEL总结一、LISTMODEL创建、管理工具1️⃣GtkSliceListModel2️⃣GtkFlattenListModel3️⃣GtkMapListModel二、LISTMODEL的具体应用1️⃣Pangoobjects2️⃣GtkDirectoryList和GtkBookmarkList3️⃣GtkDropDown三、LI 查看详情