Как сделать Button меньше, чем их минимальный размер? - PullRequest
1 голос
/ 10 марта 2020

Я сейчас настраиваю некоторые кнопки, и проблема в том, что мне нужно сжать 10 из них в 480 пикселей.

Я обнаружил, что наименьшая ширина кнопки может быть 50px; если я уменьшу его до 50, он не изменится. Я хотел бы изменить их размер на 48px или даже меньше, но я не знаю, как поступить.

Для библиотеки GTK я использую RELM. Я спросил на GitHub GTK-rs , но они утверждают, что проблема с 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 или меньше?

1 Ответ

3 голосов
/ 10 марта 2020

По понятным причинам вы не можете сделать виджет меньше его минимального размера.

Минимальный размер виджета диктуется двумя вещами:

  • CSS к нему применяются правила стиля
  • минимальный размер его дочерних элементов

Поэтому, если вы хотите изменить минимальный размер виджета, вы должны проверить, какой стиль применяется к нему - вы должны использовать инспектора GTK , чтобы выяснить это; и размер каждого дочернего элемента внутри него.

Как правило, вам не следует пытаться принудительно устанавливать размер кнопки, особенно если она может содержать текст. Такие вещи, как пользовательские шрифты, темы и локализация, скорее всего, нарушат все ограничения, которые вы решили применить в своей системе.

...