我有一个派生自QWidget的类。当我尝试使用样式表设置边框图像时,它似乎忽略它。我使用的是QT 4.4,看起来QWidget应该支持border-image。在paint事件中我需要做些什么来让它显示,或者我还缺少什么?
此外,是否可以使用border-top-left-image和其余部分为边框定义一系列图像?
答案 0 :(得分:1)
尝试继承QFrame而不是QWidget。我从来没有在简单的QWidget上看到过border *样式表。
答案 1 :(得分:0)
您需要为QWidget派生的窗口小部件提供一个绘制事件,以确保它加载样式表。
void MyWidget::paintEvent(QPaintEvent * event)
{
QStyleOption option;
option.init(this);
QPainter painter(this);
style()->drawPrimitive(QStyle::PE_Widget, &option, &painter, this);
QWidget::paintEvent(event);
}