Я работаю на gschem , бесплатном программном инструменте для редактирования схем электроники. Недавно мы столкнулись с проблемой при использовании GtkScrolledWindow , содержащей GtkTextView .
Контекст
В последних версиях Ubuntu используются наложенные полосы прокрутки, что означает, что GtkScrolledWindows больше не устанавливает минимальную высоту, которая обеспечивает достаточно места для устаревшей полосы прокрутки (фактически, они имеют минимальную высоту 0). Аналогично, GtkTextView без текста для отображения запрашивает высоту 0. Это означает, что один из прокручиваемых GtkTextViews в gschem отображался как один пиксель в высоту, и это, очевидно, неприменимо.
В диалоговом окне справа на снимке экрана, показанном выше, обратите внимание на невидимый виджет между надписью «Value:» и кнопкой «Добавить».
Об этом сообщают несколько пользователей независимо друг от друга - см. Также отчет об ошибке .
Вопрос
Очевидно, что это можно исправить, выполнив:
g_object_set (textview, "height-request", 100, NULL);
Тем не менее, это довольно не элегантно и сломается для пользователей, которые устанавливают очень большой размер шрифта в пикселях (например, пользователи с проблемами зрения или использующие экраны с высоким разрешением).
Поэтому в идеале мы хотим установить минимальный размер GtkTextView относительно размера шрифта по умолчанию, например, скажите это, чтобы «показать как минимум три строки текста».
Кто-нибудь может предложить разумный / элегантный подход для этого?