鱼C论坛

 找回密码
 立即注册
查看: 1726|回复: 1

[技术交流] C语言GUI程序设计-GTK图文系列-GtkWidget之容器(三)

[复制链接]
发表于 2014-10-27 20:17:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这一讲讲解GtkFixed和GtkPaned,这两个部件都比较简单

GtkFixed

GtkFixed提供绝对定位布局,可以通过设置坐标来精确摆放子部件的位置,在窗口布局固定的情况下使用。

gtk_fixed.png


例程:
#include <gtk/gtk.h>

int main(int argc,char *argv[])
{
    GtkWidget *window,*fixed,*label,*button;
    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window),"hello fishc - GtkFixed");
    gtk_widget_set_size_request(window,300,200);

    fixed = gtk_fixed_new();
    gtk_container_add(GTK_CONTAINER(window), fixed);

    label = gtk_label_new("label1");
    button = gtk_button_new_with_label("button");

    gtk_fixed_put(GTK_FIXED(fixed), label, 20,20);
    gtk_fixed_put(GTK_FIXED(fixed), button, 60,60);

    gtk_widget_show_all(window);
    gtk_main ();

    return 0;
}
gtk_fixed_put函数用来为GtkFixed部件添加子部件,并设置其位置坐标,最后来个参数用来设置子部件在父容器中的位置。

GtkPaned

GtkPaned提供一个可以调节的分割条,把窗口分隔成两个面板。GtkHPaned和GtkVPaned“继承”于GtkPaned,并且在创建GtkPaned时可以设置参数,使其成为GtkHPaned或GtkVPaned,所以这里只讲GtkPaned。

gtk_paned_1.png gtk_paned_2.png


在label1和button直接有个分割条,可以用来调整两侧面板的宽度。
例程:
#include <gtk/gtk.h>

int main(int argc,char *argv[])
{
    GtkWidget *window,*paned,*label,*button;
    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window),"hello fishc - GtkPaned");
    gtk_widget_set_size_request(window,300,200);

    paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
    gtk_container_add(GTK_CONTAINER(window), paned);

    label = gtk_label_new("label1");
    button = gtk_button_new_with_label("button");

    gtk_paned_add1(GTK_PANED(paned), label);
    gtk_paned_add2(GTK_PANED(paned), button);

    //gtk_paned_set_position(GTK_PANED(paned),150);

    gtk_widget_show_all(window);
    gtk_main ();

    return 0;
}
另外也可以通过代码设置分割条的位置:
gtk_paned_set_position(GTK_PANED(paned),150);




想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2014-10-30 14:44:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 03:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表