大佬教程收集整理的这篇文章主要介绍了qt – 使用来自全局QSS的类选择器设置文本区域样式,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如.在下面的例子中,foo和bar都应该是红色的.
#include <QtWidgets/QApplication> #include <QtWidgets/QLabel> class some_label : public QLabel { Q_OBjeCT public: some_label(QString text = "") : QLabel(NULL) { setText(text); show(); }; }; #include "main.moc" static @R_618_3377@ *css = "some_label { color : blue; BACkground : black; }" "span.some_class { color : red; }"; int main(int argc,char **argv) { QApplication a(argc,argv); a.setStyleSheet(css); some_label label("before " "<span style=\"color:red;\">foo</span> " /* works */ "<span class=\"some_class\">bar</span> " /* fails */ "after"); return a.exec(); }
Qmake(Qt 5.1.1)项目文件:
QT += widgets sourcES += main.cpp
我真的很感激能够像我一样避免硬编码风格的解决方案
与foo跨度.
目标是让应用程序看起来完全由a决定
用户提供的样式表(在示例中由css表示).
目前,我使用的解决方法涉及每个元素的单独标签
这是有色的,维持是一场噩梦.
我已经咨询了一些在线资源以及Blanchette / Summerfield章节
19但这些主要涉及整个小部件的样式.
// these values come from a central,user-supplied style sheet,etc. QString priMary = "red"; QString secondary = "green"; some_label label("before " "<font color=\"" + secondary + "\">foo</font> " "<font color=\"" + priMary + "\">bar</font> " "after");
这个系统有点难以阅读,但它可能比使用许多QLabel有所改进.
(你可能已经注意到了,Qt doesn’t support CSS selection of classes within QLabels.)
以上是大佬教程为你收集整理的qt – 使用来自全局QSS的类选择器设置文本区域样式全部内容,希望文章能够帮你解决qt – 使用来自全局QSS的类选择器设置文本区域样式所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。