Border-изображение не работает для QWidget - PullRequest
2 голосов
/ 30 сентября 2011

У меня есть класс, полученный из QWidget. Когда я пытаюсь использовать таблицу стилей для установки изображения границы, оно, кажется, игнорирует его. Я использую QT 4.4, и похоже, что QWidget должен поддерживать border-image. Есть ли что-то, что мне нужно сделать в событии рисования, чтобы отобразить его, или что-то еще, чего мне не хватает?

Кроме того, возможно ли определить серию изображений для границы, используя border-top-left-image и остальные?

Ответы [ 2 ]

1 голос
/ 01 октября 2011

Попробуйте создать подкласс QFrame вместо QWidget.Я никогда не видел работы с таблицей стилей border * на простом QWidget.

0 голосов
/ 13 августа 2014

Вам нужно предоставить событие рисования для вашего производного виджета 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);
}
...