I want to enable my own widget class for stylesheets, whereat I am not talking about setStyleSheet(qss), but selectors in a qss stylesheet. It is understood that I have to replace the "::" with "--" in namespaces.
Here ( Qt Stylesheet for custom widget ) I have found a similar question, but it is > 4 years old. Based on the answer I have some detailed questions:
a) Is the published approach with an overridden paintEvent still valid (Qt5.6/5.7), from https://stackoverflow.com/a/8817908/356726
void CustomWidget::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}
b) In the same thread ( https://stackoverflow.com/a/22094319/356726 ) it is said, I do not need to override paintEvent. Ok, leads me to:
b1) is it harmful to override paintEvent anyway, even with QFrame?
b2) What is with other base classes, e.g. QTableView? What makes QFrame having this particular role?
c) has anybody found an official Qt documentation on that topic. Nice code in a, but where does it come from? (here) Honestly I do not understand what it does.
-- Edit --
Daniel has pointed out the source of that magical paintEvent snippet here (QWidget paragraph). Interesting that the same ("supports only ..") is said for QDialog, which could mean I have to use the snippet there as well. I fail to understand why they do not add that snippet to the paintEvent of QWidgetas per default.