我在MSYS2上使用GTK+3。我想将宽度设置为GtkWidget的1,但我不能,所以请如何做?
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
GtkWidget *label = gtk_label_new("Hello, World!");
gtk_container_add(GTK_CONTAINER(window), label);
// I want to set width to 1!
gtk_widget_set_size_request(label, 1, -1);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
字符串
1条答案
按热度按时间rjee0c151#
请阅读Gtk4的文档:“小部件的大小请求是小部件在正常工作和正确绘制的情况下可以接受的最小大小。然而,在某些奇怪的情况下,小部件可能会分配小于其请求的大小,并且在许多情况下,小部件可能会分配比其请求更多的空间。”
我建议使用布局管理器来解决您的问题。