Создание GTK-виджета с использованием Expander - PullRequest
0 голосов
/ 30 октября 2009

Я пытаюсь создать виджет GTK, как показано в следующих изображениях

alt text

Возможно ли создать его в GTK + под C, Я пытался использовать GtkExpander, но он не работает ...

Может ли кто-нибудь помочь ...

Ответы [ 2 ]

3 голосов
/ 04 ноября 2009

Снятие стрелы довольно тривиально.Просто добавьте следующий код к вам $HOME/.gtkrc-2.0 (или создайте его, если он не найден):

style "pradeep" {
  GtkExpander::expander-size = 0
  GtkExpander::expander-spacing = 0
}
widget "*.GtkExpander" style "pradeep"

Это делается путем настройки внешнего вида с использованием файлов ресурсов .Вы можете получить тот же результат программным путем, изменив свойства стиля GtkExpander .

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

Просто помните, что кто-то любит иметь постоянный пользовательский интерфейс.

2 голосов
/ 02 ноября 2009

Если вы хотите дублировать внешний вид, то есть два очень неэффективных решения проблемы:

  1. Напишите свой собственный движок тем GTK (см. Murrine или Clearlooks).
  2. Замените всю программу на GtkDrawingArea виджет и используйте Cairo, чтобы нарисовать именно тот вид, который вы хотите. Тогда вы будете сами по себе, поэтому вам придется писать все свои алгоритмы размещения виджетов, кнопки, расширители, меню и еще много чего, с нуля.

GTK на самом деле не предназначен для такого рода вещей. Весь смысл GTK в том, что вы разрабатываете свой пользовательский интерфейс со стандартными виджетами, и они просто работают с любыми темами, языками или технологиями специальных возможностей, которые ваши пользователи должны использовать. Если вы создадите свой собственный внешний вид, и вы не сможете изменить его, то человек с дальтонизмом или слабым зрением не сможет его использовать. Или текст будет выровнен, если кто-то использует ваше приложение на другом языке. Или, по крайней мере, может быть, кому-то просто нравится черный рабочий стол с белыми буквами, и ваше приложение будет выглядеть ужасно на компьютере этого пользователя. Если вам действительно нужно, чтобы все выглядело именно так, то, вероятно, GTK не подходит вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...