Pergunta

Eu estou usando GTK afiada ao trabalho em algum GUI para meu aplicativo.

Dê uma olhada neste pedaço 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);

Observe fontdesc.Size está comentada. Porque só quando eu comentá-lo, vou ver a etiqueta com o texto. Se eu definir qualquer valor para ele, o rótulo não aparecerá.

Além disso, eu fiz um Console.WriteLine, eo tamanho padrão é 0. Então, eu tentei frontdesc.Size = 0, e ainda desaparece, alguma idéia?

Obrigado!

Foi útil?

Solução

Verifique este fora. Você precisa configurá-lo para 12 * Scale.PangoScale. Eu tive um problema semelhante com as APIs C.

Outras dicas

Esta é essencialmente uma versão C # da outra resposta PangoScale:

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

Notas: FontDescription.Size é uma int e PangoScale é do tipo é necessária dupla para um elenco tipo ou outra dupla para conversão de int. Escala é provável ambígua nos espaços de nomes referenciados, de modo que o Pango.Scale referência completa é provavelmente melhor usado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top