2009-08-12 63 views
3

GTKのテキスト要素のフォントサイズを変更する簡単な方法はありますか?今私ができる最善のは愚かなようなもので、ラベルにset_markupを行うことである。GTKでフォントサイズを変更するにはどうしたらいいですか?

lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text) 

この1)フォントを設定するために私を必要とし、2)多くのオーバーヘッドのように思える(マークアップを解析しました)、3)ボタンなどのフォントサイズを変更するのは面倒です。より良い方法がありますか?

+0

今日、font_descはフォントサイズだけで動作することに驚いた。それは私には分かりませんでした。 –

答えて

7

はPyGTKで
gtk_widget_modify_font(lbl, pango_font_description_from_string("Tahoma 5.4")); 

、私はそれが何かのようなものだと考えています

style "font" 
{ 
font_name = "Corbel 8" 
} 
widget_class "*" style "font" 
gtk-font-name = "Corbel 8" 
:(その後、Googleの質問になり、「gtkrcフォント」クエリはgtkrcファイルの次のスニペットを持って this ubuntu forums linkに私たちをもたらします)gtkrcためにこの仕事を残しdは

(あなたの/あなたの必要とするものにフォントを置き換えます)

ユーザーは一貫性のある経験を得ることができ、コードを突き刺すことなく簡単に設定を変更することができます。個人的な構成関連のコードを維持するオーバーヘッド。 widget_classのより正確な定義があれば、この設定をより具体的にすることができると私は理解しています。

異なるプラットフォーム用のYMMVですが、AFAIKこのファイルはGTKが使用されている場合は常に一部の場所に存在し、プレゼンテーションの詳細を担当することができます。

+0

私のアプリケーション用にカスタムgtkrcファイルを使用することは可能ですか?もしそうなら、どうしたらいいですか? – Claudiu

+1

ここからアイデアを試してください:http://www.daa.com.au/pipermail/pygtk/2008-December/016359.html –

+0

@AndrewY、あなたの答えをありがとう。これは今日私を助けました。 – ECC

3

Cでは、あなたが行うことができます:あなたはあなたのアプリケーション(複数可)に、フォント全体的に変更したい場合は、私は」

pangoFont = pango.FontDescription("Tahoma 5.4") 
lbl.modify_font(pangoFont) 
+0

C言語では、pangoのフォント記述を 'pango_font_description_free()'で使用する必要があるため、メモリリークが発生します(これは 'pango_font_description_from_string()'のドキュメントからは分かりません)。それ以外は、可能な解決策です。 –

関連する問題