首页 > 解决方案 > GTK - 无法将按钮尺寸设置得更小

问题描述

我希望将框内按钮的大小和列表框中的行设置为单个字符的大小。我希望该按钮是一个小的删除按钮,它只是一个小方块,足以容纳一个“X”字符。

我无法让按钮变得比这更小:

在此处输入图像描述

这是我当前的代码:

    GtkWidget *row1;
    GtkWidget *box1;
    GtkWidget *label1;
    GtkWidget *remBox1;
    GtkWidget *remBtn1;
    GtkWidget *remBtnLbl1;

    remBtnLbl1 = gtk_label_new("X");
    gtk_widget_set_name(remBtnLbl1,"remBtnLabels");
    row1 = gtk_list_box_row_new();
    box1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 100);
    label1 = gtk_label_new("Test");
    remBox1 = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
    remBtn1 = gtk_button_new();

    gtk_widget_set_margin_start(remBtnLbl1, 0);
    gtk_widget_set_margin_end(remBtnLbl1, 0);

    gtk_container_add(GTK_CONTAINER(remBtn1), remBtnLbl1);

    gtk_widget_set_name(remBtn1, "remButtons");
    gtk_widget_set_size_request(remBox1, 1, -1);
    gtk_widget_set_size_request(remBtn1, 1, 5);

    gtk_box_pack_start(GTK_BOX(remBox1), remBtn1, FALSE, FALSE, 0);
    gtk_box_pack_start(GTK_BOX(box1), label1, TRUE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(box1), remBox1, FALSE, FALSE, 0);
    gtk_container_add(GTK_CONTAINER(row1), box1);
    gtk_list_box_insert(GTK_LIST_BOX(hashListBox), row1, -1);

样式表.css:

#remBtnLabels {
    padding-left: 0px;
    padding-right: 0px;
}

我一直在尝试各种方法来尝试让按钮变小,但一直没有运气。

任何帮助将不胜感激。谢谢。

标签: cuser-interfacegtkpadding

解决方案


在您的具体示例中,只需设置按钮的水平对齐方式:

gtk_widget_set_halign(remBtn1, GTK_ALIGN_END);

推荐阅读