Вопрос

Я использую 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top