1

我目前正在设置一些按钮,问题是我需要将其中的 10 个压缩成 480 像素。

我发现按钮的最小宽度是50px;如果我将其调整为小于 50,它不会改变。我想将它们的大小更改为 48px 甚至更小,但我不知道如何进行。

对于 GTK 库,我使用的是 RELM。我在GTK-rs 的 GitHub 上询问过,但他们声称问题出在 GTK 上。

我当前的代码如下

gtk::Box {
    property_width_request: 480,
    orientation: Horizontal,
    #[name="button"]
    gtk::Button{
        property_height_request: 25,
        property_width_request: 25,
        label: &self.model.layout.get_character(0, self.model.shift),
        clicked => Clicked(0),
    },
}

即使我设置了width_request,最小的宽度看起来也是 50px。

有什么办法可以将按钮宽度减小到 45px 或更小?

4

1 回答 1

3

由于显而易见的原因,您不能使小部件小于其最小尺寸。

小部件的最小尺寸由两件事决定:

  • 应用于它的 CSS 样式规则
  • 其孩子的最小尺寸

所以如果你想改变一个小部件的最小尺寸,你应该检查它应用了什么样的样式——你应该使用GTK 检查器来找出它;以及里面每个孩子的大小。

一般来说,你不应该真的尝试强制一个按钮的大小——特别是如果它可以包含文本。用户字体、主题和本地化等内容可能会打破您决定在系统上应用的任何约束。

于 2020-03-10T13:17:27.857 回答