初学GTK+
感觉GTK+布局太难了
好像写HTML界面
又好像java编可视化界面
不但不好定位 而且构件的大小还不好控制
弄得不好一个巨大的button就出现了
想想MFC时的简单
我想到一个无赖的办法
使用固定的位置呈现指定大小的构件
只要不让用户更改窗口大小 显示就不会错位
这样做最简单
gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, TRUE);
不让用户更改窗口大小 (其中的window是指向窗口构件的指针)
gtk_widget_set_size_request();
设置构件大小
再加上fixed容器构件 就完活了
附我的例子
#include <gtk-2.0/gtk/gtk.h>
gint release_resource(GtkWidget *widget,GdkEvent *event ,gpointer data)
{
gtk_main_quit();
return 0;
}
int main(int argc, char *argv[])
{
GtkWidget *wnd;
GtkWidget *fixed;
GtkWidget *btn;
gtk_init(&argc,&argv);
wnd=gtk_window_new(GTK_WINDOW_TOPLEVEL);
感觉GTK+布局太难了
好像写HTML界面
又好像java编可视化界面
不但不好定位 而且构件的大小还不好控制
弄得不好一个巨大的button就出现了
想想MFC时的简单
我想到一个无赖的办法
使用固定的位置呈现指定大小的构件
只要不让用户更改窗口大小 显示就不会错位
这样做最简单
gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, TRUE);
不让用户更改窗口大小 (其中的window是指向窗口构件的指针)
gtk_widget_set_size_request();
设置构件大小
再加上fixed容器构件 就完活了
附我的例子
#include <gtk-2.0/gtk/gtk.h>
gint release_resource(GtkWidget *widget,GdkEvent *event ,gpointer data)
{
gtk_main_quit();
return 0;
}
int main(int argc, char *argv[])
{
GtkWidget *wnd;
GtkWidget *fixed;
GtkWidget *btn;
gtk_init(&argc,&argv);
wnd=gtk_window_new(GTK_WINDOW_TOPLEVEL);

初学者在使用GTK+进行界面开发时,可能会遇到布局困难和构件大小不易控制的问题。本文提出了一种简单方法,通过禁止窗口大小调整,并结合`gtk_widget_set_size_request()`函数设定构件固定大小,以及使用`fixed`容器来确保界面元素的位置。示例代码展示了如何创建一个按钮并保持其尺寸不变。
最低0.47元/天 解锁文章
1125





