से क्लास चयनकर्ता के साथ स्टाइल टेक्स्ट टेक्स्ट क्षेत्र मैं ग्लोबल स्टाइल शीट के माध्यम से विजेट टेक्स्ट (उदा। एक QLabel) का हिस्सा कैसे बना सकता हूं?वैश्विक क्यूएसएस
उदा। उदाहरण के लिए, foo और बार दोनों लाल होना चाहिए।
#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 const char *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 (क्यूटी 5.1.1) प्रोजेक्ट फाइल:
QT += widgets
SOURCES += main.cpp
मैं वास्तव में एक समाधान है कि शैली में हार्डकोड के रूप में मैं foo अवधि के साथ किया बचा जाता है की सराहना करेंगे । लक्ष्य के लिए लक्ष्य पूरी तरह से उपयोगकर्ता द्वारा आपूर्ति की गई स्टाइल शीट द्वारा निर्धारित किया जाना है (उदाहरण में css
द्वारा दर्शाया गया है)। फिलहाल मैं प्रत्येक तत्व के लिए अलग-अलग लेबल शामिल करने वाले वर्कअराउंड का उपयोग करता हूं जो कि रंगीन है और यह बनाए रखने के लिए एक दुःस्वप्न है।
मैंने कुछ ऑनलाइन स्रोतों के साथ-साथ ब्लैंचेट/समरफील्ड अध्याय 1 9 से परामर्श लिया है, लेकिन वे मुख्य रूप से स्टाइलिंग पूरे विजेट से संबंधित हैं।