马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 G0398 于 2014-10-9 15:03 编辑
这一讲主要讲解窗口的一些设置#include <gtk/gtk.h>
int main(int argc,char *argv[])
{
GtkWidget *window;
//GTK初始化
gtk_init (&argc, &argv);
//“实例化”一个新窗口
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
//注册信号通知(窗口销毁)
g_signal_connect(window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
//显示窗口
gtk_widget_show (window);
//执行消息循环
gtk_main ();
return 0;
}
一个最简单的窗口示例代码
运行这段代码,出现下面这个最基本的窗口
一、标题
我们先改下窗口的标题:hello fishc
gtk_window_set_title(GTK_WINDOW(window),"hello fishc ");
设置窗口标题主要的两个参数:1、要设置的窗口,2、要为窗口设置的标题文本
window是GtkWidget类型的,这个函数的第一个参数要求GtkWindow类型 所以用GTK_WINDOW这个宏进行转换
GTK_WINDOW定义在gtk\gtkwindow.h文件中,原型:#define GTK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WINDOW, GtkWindow))
注:现在窗口标题还不能设置中文,关于中文设置需要使用pango中的函数,以后再讲 (国际化与本地化)
二、启动位置
默认窗口出现在屏幕左上角的那个角落里,不过大多情况下我们希望窗口出现在屏幕中心
现在来修改窗口的启动位置
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER_ALWAYS);
第一个参数和上面一样,就不多说了,第二个参数为指定的启动位置,是一个枚举值<pre class="programlisting" style="background-color: rgb(230, 243, 255); border: 1px solid rgb(114, 159, 207); padding: 0.5em; color: rgb(0, 0, 0); line-height: normal;">typedef enum {
GTK_WIN_POS_NONE,
GTK_WIN_POS_CENTER,
GTK_WIN_POS_MOUSE,
GTK_WIN_POS_CENTER_ALWAYS,
GTK_WIN_POS_CENTER_ON_PARENT
} GtkWindowPosition;</pre>
三、大小
默认显示的窗口为一个小于300x300的小窗口,现在我们修改窗口大小为600x400gtk_window_set_default_size(GTK_WINDOW(window),600,400);
这个函数需要三个参数,很简单,第一个窗口实例,第二个为宽度,第三个为高度。
四、图标
默认窗口图标为GTK的logo,现在我们换上fishc的图标,链接:http://bbs.fishc.com/favicon.ico
将这个图标保存启动测试例程的那个文件夹里。GError *err; gtk_window_set_default_icon_from_file("favicon.ico",&err);
这个函数的作用是从文件中加载图标,需要两个参数,第一个为图标文件路径,这里我们放在程序启动文件夹,所以只写文件名就好了,使用相对路径,第二个参数为错误信息,是个结构体可以直接以printf("%s\n",err->message);方式查看错误信息。
五、固定大小
有些情况下我们希望窗口不能最大化,不能改变大小(防止打乱现有的布局),这时就需要对窗口进行一些设置gtk_window_set_resizable(GTK_WINDOW(window),FALSE);
参数很简单不用多说,但是设置后发现窗口成了这个样子
主要是由于窗口内没有其它的元素,GTK根据窗口内元素自动布局了(自然大小),就成了这样,似乎之前设置的default size没用了,在文档里有解释
这时使用另一个函数来设置窗口大小可以避免自然大小这种情况
gtk_widget_set_size_request(GTK_WINDOW(window),600,400);
参数和设置默认大小函数一样
设置后,窗口就回复乱原来的大小600x400
OK,窗口的一些常用设置都讲过了,下面来讲GTK离线文档的查看
离线文档
GTK的离线文档是html格式的页面,通过浏览器就能查看
位置在file:///D:/GTK3/share/gtk-doc/html/gtk3/index.html
这里我的解压位置我的D:/GTK3,通过浏览器打开这个地址就可以查看离线文档了
大多情况下都可以在这个文档里找到所需函数,但是有时会发现不知道到哪里去找,所以这一系列教程主要是来指路的,帮助大家更好地阅读一个GTK库的文档。
比如这一节主要讲窗口的一些设置,在文档中点击GtkWindow(file:///D:/project/GTK3/share/gtk-doc/html/gtk3/GtkWindow.html)
就能看到关于窗口的函数,属性,信号等信息
下一讲主要讲解窗口的一些信号处理
next ->Signals
|