GTKSharp, Pango, настройка размера шрифта
Вопрос
Я использую GTK Sharp для работы над графическим интерфейсом своего приложения.
Взгляните на этот кусок кода:
Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Family = "Sans";
//fontdesc.Size = 12;
fontdesc.Weight = Pango.Weight.Semibold;
SyncInfo.ModifyFont(fontdesc);
Gdk.Color fontcolor = new Gdk.Color(255,255,255);
SyncInfo.ModifyFg(StateType.Normal, fontcolor);
Обратите внимание, что fontdesc.Size закомментирован.Потому что только когда я это закомментирую, я увижу метку с текстом.Если я установлю для него какое-либо значение, метка не появится.
Кроме того, я сделал Console.WriteLine, а размер по умолчанию равен 0.Итак, я попробовал frontdesc.Size = 0, и он все равно исчезает, есть идеи?
Спасибо!
Решение
Проверять этот вне.Вам нужно установить его на 12 * Scale.PangoScale.У меня была аналогичная проблема с API C.
Другие советы
По сути, это версия C# другого ответа PangoScale:
Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale);
....
Примечания:FontDescription.Size — это интервал и PangoScale — это тип двойной поэтому необходимо приведение типа или другое преобразование типа double в int.Шкала вероятно, неоднозначен в упомянутых пространствах имен, поэтому, вероятно, лучше всего использовать полную ссылку Pango.Scale.