Gtk 小部件最小和最大宽度/高度,可调整为 true



我是 gtk 的新手,使用 gtkmm-3.0,我正在努力为 gtk 小部件设置最小宽度和高度。我使用了set_size_request方法,但是当我调整父容器的大小时,小部件仍然超过其最小/最大大小。

我的代码看起来像

foo::foo()
{
set_default_size(400,400); // set default size for window
add(grid_layout);
menu_bar.append(file);
menu_bar.append(edit);
menu_bar.append(project);
menu_bar.append(settings);
menu_bar.append(help);

right_panel_notebook.insert_page(right_btn, "Page1", Gtk::POS_RIGHT);
right_panel_notebook.insert_page(notebook_btn, "Page2", Gtk::POS_RIGHT);
right_panel_notebook.set_size_request(400,300); // setting size for a Notebook widget       

design_paned.set_vexpand(true);
design_paned.add1(btn);
design_paned.add2(right_panel_notebook);

grid_layout.set_row_homogeneous(false);
grid_layout.set_column_homogeneous(true);
grid_layout.attach_next_to(menu_bar, Gtk::POS_RIGHT, 1,1);        
grid_layout.attach_next_to(design_paned, Gtk::POS_BOTTOM, 1,1);        
show_all();
}   

那么,有没有办法限制小部件的最小/最大大小,将其大小调整为 true。

不确定这是否是你想要的,但查看你的代码,set_size_request是在 GtkPaned 内部的 GtkNotebook 上调用的,所以:

GtkPaned 子项有两个属性,resizeshrink

每个孩子有两个选项可以设置,调整大小和缩小。如果 调整大小为真,然后当调整 GtkPaned 的大小时,该子项将 随平移微件一起展开或缩小。如果收缩为真,则 该子项可以小于用户对其申请的申请。 将收缩设置为 FALSE 允许应用程序设置最小大小。 如果两个子项的大小调整为假,则将其视为好像 调整大小对两个孩子都是正确的

如果shrink设置为TRUE则笔记本可以小于您请求的 400x300 大小。

若要设置这些属性,请使用 GtkPannedpack1pack2方法,而不是add1add2

相关内容

  • 没有找到相关文章

最新更新