2012-02-16 1 views
2

setStyleSheetをウィジェット(この場合はQToolButton)に呼び出すと、親からのフォント伝播を介してフォントが更新されなくなります。つまり、スタイルシートが設定されると、親ウィジェットのsetFontを呼び出すと、このウィジェットのフォントは変更されなくなります。setStyleSheetはフォントを固定し、フォント伝播を更新しません

これは、この壊れた動作を回避する方法ですか?

注:私のスタイルシートにはフォントプロパティが指定されていないため、ドキュメントによればフォントに干渉しないはずです。 (例:":checked { border: 1px inset rgba(128,0,0,128); \nbackground-color: rgba(200, 200, 0, 128); }"

注:アプリケーションの他のすべてのコントロールが正しく更新され、スタイルシートセットを持つものだけが正しく更新されるため、フォントを正しく設定していることも確かです。

答えて

1

setFontのドキュメンタリーが

注意が言うにもかかわらず:QtのスタイルシートがのsetFont()と同じウィジェットを使用している場合、スタイルシートは、設定の競合の場合優先されます。この場合に役割を果たしてはならない

setFont機能で内部qtのドキュメンタリーは、スタイルシートが異なるフォント伝播機構を有する###

を言います。スタイルシート が適用される場合、フォントはもはや

には反映されませんので、私は常に最初の親のフォントを設定し、子どもたち

+1

にスタイルシートを適用するよりなり、一日の終わりに私は、当然の起動時にそれを行います私たちのユーザーは、実行時にフォントを変更することができます。問題が発生すると、そのフォントが変更されます。内部のドキュメントからの参考に感謝します。 –