gpt4 book ai didi

c++ - 设置 GtkButton 宽度

转载 作者:行者123 更新时间:2023-11-28 04:04:16 25 4
gpt4 key购买 nike

我在设置 GtkButton(s) 的宽度时遇到问题。当我将 gtk_widget_set_size_request(button, width, height)width = 40height = 40 一起使用时,我的宽度错误但高度正确.看到它:

Here is the problem :

我的代码:

// On sépare les panneaux :
GtkWidget* commands_drawing_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
GtkWidget* buttons_tabpanel_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);

// On met tout sur le container
gtk_container_add(GTK_CONTAINER(container), buttons_tabpanel_box);
gtk_container_add(GTK_CONTAINER(container), commands_drawing_box);

// Boutons
GtkWidget* buttons_grid = gtk_grid_new();
gtk_box_pack_start(GTK_BOX(buttons_tabpanel_box), buttons_grid, TRUE, TRUE, 1);

// Bouton "Nouveau dessin"
GtkWidget* btn_new_drawing_button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
GtkWidget* btn_new_drawing = gtk_button_new();
GtkWidget* btn_new_drawing_image = gtk_image_new_from_file("D:\\Dev\\Icones_32px\\32_newdocument.png");
gtk_button_set_image(GTK_BUTTON(btn_new_drawing), btn_new_drawing_image);
gtk_grid_attach(GTK_GRID(buttons_grid), btn_new_drawing_button_box, 0, 0, 1, 1);
gtk_container_add(GTK_CONTAINER(btn_new_drawing_button_box), btn_new_drawing);
gtk_widget_set_size_request(btn_new_drawing, 40, 40);

而且我不想使用 Glade。

你能找到解决方案吗?

最佳答案

关于为什么您的按钮宽度错误的可能情况可能是由于图像的宽度。图像大于 40。在这种情况下,图像不会调整大小并且按钮会环绕图像。

在您的代码中,您使用 GtkButtonBox 使按钮布局均匀。(作为替代方案,您可以使用 gtkbox)如果您删除它,那么您的代码就可以正常工作。

但是如果你必须使用按钮框。然后尝试更改小部件属性。 ( https://developer.gnome.org/gtk3/stable/GtkButtonBox.html#GtkButtonBox--s-child-min-height )

在按钮内填充和最小高度将被设置为删除那些你必须使用 css

button {
min-width:0px;
padding:0px;
border:0px;
}

尝试使用 gtk-debugger (https://askubuntu.com/questions/597259/how-do-i-open-gtk-inspector) 帮助您进行调试

关于c++ - 设置 GtkButton 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59012847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com