2010-03-14 8 views
5

Estoy usando GTK Sharp para trabajar en alguna GUI para mi aplicación.GTKSharp, Pango, establece la extravagancia del tamaño de fuente

Tome un vistazo a este trozo de código:

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); 

Aviso fontdesc.Size está comentada. Porque solo cuando lo comente, veré la etiqueta con el texto. Si le asigno algún valor, la etiqueta no aparecerá.

Además, hice una Console.WriteLine, y el tamaño predeterminado es 0. Así que probé frontdesc.Size = 0, y aún desaparece, ¿alguna idea?

Gracias!

Respuesta

5

Verificar this salir. Debe configurarlo en 12 * Scale.PangoScale. Tuve un problema similar con las API de C

0

Esto es esencialmente una versión C# de la otra respuesta PangoScale:

Pango.FontDescription fontdesc = new Pango.FontDescription(); 
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale); 
.... 

Notas: FontDescription.Size es una int y PangoScale es escribir doble así un tipo de yeso u otra doble a int conversión es necesario. La escala es ambigua en los espacios de nombres a los que se hace referencia, por lo que la referencia completa de Pango.Scale es probablemente la mejor opción.

Cuestiones relacionadas