Qt StyleSheet настраиваемый атрибут стиля custom QGLwidget - PullRequest
1 голос
/ 21 октября 2011

Я создал подкласс QGLwidget, и я надеялся, что смогу использовать таблицу стилей, чтобы сообщить openGL, как визуализировать сцену.

Например:

qApp->setStyleSheet("CustomWidget { background-color: yellow }");

Затем в моемМетод paintGL:

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 Ответ

1 голос
/ 25 октября 2011

Вы можете объявить Q_PROPERTY в своем пользовательском виджете, а затем установить их с помощью

CustomWidget
{
    qproperty-yourPropertyName: "value";
}

Вы можете получить доступ к BG вашего пользовательского виджета с помощью QPalette

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

Но я не уверенесли будет работать

...