使用qss样式表时,Qt :: ForegroundRole未在Linux上应用

时间:2014-05-17 08:20:40

标签: c++ linux qt qtstylesheets

我提供Qt的默认样式,但也提供一些自定义样式。 这些是通过加载qss资源文件并通过qApp-> setStyleSheet()将其应用于应用程序来应用的。默认样式由setStyleSheet(“”)设置。

样式表本身运作良好。

现在,我正在为某些QComboBox使用自定义事件过滤器为某些项目应用不同的颜色。这通过以下方式完成:

box->setItemData(i, QBrush(color), Qt::ForegroundRole);

在Windows上,这适用于默认样式和从qss文件加载的样式表。 但在Linux上,这仅适用于默认样式。在加载的样式表上,不会应用颜色(所有项目都具有相同的颜色)。

我不确定这是否是一个错误,或者我做错了什么,即使我犯了错误,也恰好在Windows上工作。

我的操作系统是Kubuntu 14.04(64位)。 Qt是5.2.1。 由于涉及的文件很多,我不能给出一个最小的例子,但项目是this并且它没有依赖关系。相关文件为priorityeventfilter.cpp

0 个答案:

没有答案