2011-10-21 24 views
1

QGLwidgetのサブクラスを作成しました。スタイルシートを使用して、シーンをレンダリングする方法をOpenGLに伝えることができました。例についてはQt StyleSheetカスタムスタイル属性カスタムQGLwidget

私paintGL方法で次に
qApp->setStyleSheet("CustomWidget { background-color: yellow }"); 

QColor bg = "Get 'background-color' style somehow" 

glClearColorf(bg.redF(), bg.greenF(), bg.blueF(), 0); 
glClear(GL_COLOR_BUFFER_BIT) 

また、カスタムスタイルシート属性を作成することは可能でしょうか?

qApp->setStyleSheet("CustomWidget { foo-attr: 1 }"); 

私はQStyleとQStyleOptionクラスにまで読みましたが、私は非常に実用的なアプリケーションにそれらを適用する方法を理解していません。

答えて

1

あなたがQPalette

QColor bg = palette().color(QPalette::Window); 

でカスタム・ウィジェットのBGにアクセスすることができます。しかし、それは意志ならば、私はよく分からないカスタムウィジェットでQ_PROPERTYを宣言してから

CustomWidget 
{ 
    qproperty-yourPropertyName: "value"; 
} 

でそれらを設定することができます仕事

+0

ありがとうございます。これは素晴らしいです。 btw 'background_color = palette()。color(QPalette :: Window)' – srossross

+0

そうですよ!私の悪い...私が助けることができてうれしい –

関連する問題