Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 关于gtk';s函数&x2014;gtk_vbox_new()_C_Gtk - Fatal编程技术网

C 关于gtk';s函数&x2014;gtk_vbox_new()

C 关于gtk';s函数&x2014;gtk_vbox_new(),c,gtk,C,Gtk,我是gtk的初学者,有一些代码可以构建一个简单的菜单: #include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *vbox; GtkWidget *menubar; GtkWidget *fileMenu; GtkWidget *fileMi; GtkWidget *quitMi; gtk_init(&argc, &argv); window = g

我是gtk的初学者,有一些代码可以构建一个简单的菜单:

#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
GtkWidget *window;
GtkWidget *vbox;

GtkWidget *menubar;
GtkWidget *fileMenu;
GtkWidget *fileMi;
GtkWidget *quitMi;

gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);
gtk_window_set_title(GTK_WINDOW(window), "Simple menu");

vbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(window), vbox);

menubar = gtk_menu_bar_new();
fileMenu = gtk_menu_new();

fileMi = gtk_menu_item_new_with_label("File");

quitMi = gtk_menu_item_new_with_label("Quit");

gtk_menu_item_set_submenu(GTK_MENU_ITEM(fileMi), fileMenu);
gtk_menu_shell_append(GTK_MENU_SHELL(fileMenu), quitMi);
gtk_menu_shell_append(GTK_MENU_SHELL(menubar), fileMi);
gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);

g_signal_connect(G_OBJECT(window), "destroy",
G_CALLBACK(gtk_main_quit), NULL);

g_signal_connect(G_OBJECT(quitMi), "activate",
G_CALLBACK(gtk_main_quit), NULL);

gtk_widget_show_all(window);
gtk_main();
return 0;
}
#包括
int main(int argc,char*argv[]){
GtkWidget*窗口;
GtkWidget*vbox;
GtkWidget*菜单栏;
GtkWidget*文件菜单;
GtkWidget*fileMi;
GtkWidget*quitMi;
gtk_init(&argc,&argv);
窗口=gtk_窗口_新建(gtk_窗口_顶层);
gtk_窗口设置位置(gtk_窗口(窗口)、gtk_WIN_位置中心);
gtk_窗口设置默认大小(gtk_窗口(窗口),300,200);
gtk_窗口_设置_标题(gtk_窗口(窗口),“简单菜单”);
vbox=gtk_vbox_new(FALSE,0);
gtk_容器添加(gtk_容器(窗口),vbox);
菜单栏=gtk_菜单栏_新建();
fileMenu=gtk_menu_new();
fileMi=gtk_菜单_项_新_,带有标签(“文件”);
quitMi=gtk_菜单_项_新_,带有标签(“退出”);
gtk_菜单项设置子菜单(gtk_菜单项(fileMi),fileMenu);
gtk_menu_shell_append(gtk_menu_shell(fileMenu),quitMi);
gtk_menu_shell_append(gtk_menu_shell(menubar),fileMi);
gtk_-box_-pack_启动(gtk_-box(vbox),菜单栏,假,假,0);
g_信号连接(g_对象(窗口),“销毁”,
G_回调(gtk_main_quit),NULL);
g_信号连接(g_对象(quitMi),“激活”,
G_回调(gtk_main_quit),NULL);
gtk_小部件_全部显示(窗口);
gtk_main();
返回0;
}
“vbox=gtk_vbox_new(FALSE,0);”是什么意思?我在gtk Devhelp中查看gtk_vbox_new()函数,它告诉我该函数返回一个GtkVBox-一个垂直容器盒,谁能告诉我这是什么?我不知道“垂直容器盒”

“vbox=gtk_vbox_”表示什么是新的(FALSE,0);“什么意思


包装盒是不可见的小部件容器,我们可以包装小部件 分为两种形式,水平框和垂直框 将小部件打包到水平框中,插入对象 根据通话情况从左到右或从右到左水平移动 在一个垂直的盒子里,小部件从上到下或者从下到下包装 反之亦然。您可以在其他框的内部或旁边使用任何框的组合 框来创建所需的效果

hbox:

vbox:

gtk_vbox_new
在当前版本(GTK3)中不推荐使用,现在我们应该使用:

gtk_box_new(GTK_ORIENTATION_VERTICAL, 10); /* where 10 is an arbitrary padding */


我有一个关于GtkGrid的问题。你能帮我吗?
+---+
| 1 |
+---+
| 2 |
+---+
| 3 |
+---+
| 4 |
+---+
| 5 |
+---+
gtk_box_new(GTK_ORIENTATION_VERTICAL, 10); /* where 10 is an arbitrary padding */
gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);