PDA

View Full Version : Customizing QScrollBar sub-controls inside QTextEdit with style sheets



Kimmo
3rd April 2010, 14:06
Simply put, how can I customize the visible down arrow, up arrow, the handle etc. of a QScrollBar using style sheets? I've read the documentation, but it isn't quite sufficient enough for me.

I was able to change the background color of a QTextEdit, the color of a QPushButton. I was also able to change the arrow image of a QComboBox (QComboBox::drop-down subcontrol) as shown in the documentation. But I cannot seem to be able to affect the QScrollBar subcontrols inside the QTextEdit. I was able to change the background-color of the scroll bar inside the text edit, so I guess I should be close, but... The documentation states that if one wants to customize one subcontrol, one has to customize them all. So here's the style sheet I was trying out. If someone could post a simple, complete style sheet that visibly changes one sub-control of a QScrollBar, I'd be grateful.



QPushButton
{
background: red;
}
QTextEdit
{
background: black;
}
QComboBox::drop-down
{
image: url(:/icon/arrow_down);
}
QScrollBar
{
}
QScrollBar::up-arrow
{

}
QScrollBar::down-arrow
{
image: url(:/icon/arrow_down);
}
QScrollBar::left-arrow
{

}
QScrollBar::right-arrow
{

}
QScrollBar::add-line
{

}
QScrollBar::add-page
{
}
QScrollBar::down-button
{
image: url(:/icon/arrow_down);
}
QScrollBar::handle
{

}
QScrollBar::sub-line
{

}
QScrollBar::sub-page
{

}

toutarrive
3rd April 2010, 14:18
You're right, you have to use subcontrols an attributes to customize a widget through style sheet.
You still seem a bit confused about how style sheet works. I would recommend your to read the documentation once more time to get a good grasp of the mechanism.
Especially, have look at those links :
http://doc.trolltech.com/4.3/stylesheet-examples.html#customizing-qscrollbar
http://doc.qt.nokia.com/4.6/stylesheet-reference.html
http://doc.qt.nokia.com/4.6/stylesheet-reference.html#list-of-sub-controls

Kimmo
3rd April 2010, 15:18
Thanks! I've been reading about this for so many hours I apparently completely missed the complete example that demonstrates the style sheets for QScrollBar. This helps a lot.

Thanks again.