LINUX.ORG.RU

Не рисуется виджет

 ,


0

1

Привет. Почему не работает код - не отображается кастомный виджет в лэйауте? Если создавать просто виджет - все ок.

//QWidget *w = new QWidget(); //Если раскомментировать, и закомметировать нюжнюю, то все отображается.
CustomWidget * w = new CustomWidget();
w->setStyleSheet("background: rgb(90,90,90);");
l->addWidget(w, row / size, col % size);

CustomWidget это просто наследник виджета.

class CustomWidget : public QWidget
{
    Q_OBJECT

public:
    CustomWidget(QWidget *parent = (QWidget *)0);
    ~CustomWidget();



Последнее исправление: CYB3R (всего исправлений: 1)

Лучше запаковать минимальный неработающий пример (с проектом) в архив и дать ссылку.

CrossFire ★★★★★
()

мимокрокодил

QWidget *parent = (QWidget *)0

Нихренасебе

Stil ★★★★★
()
Ответ на: комментарий от twentypercentcooler

Ты сообщения вообще читаешь? Определи paintEvent.

void CustomWidget::paintEvent(QPaintEvent *)
 {
     QStyleOption opt;
     opt.init(this);
     QPainter p(this);
     style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
 }
sambist ★★
()
Ответ на: комментарий от sambist

Читаю. Я переопределил, но ничего не вышло. Твой код работает, спасибо.

twentypercentcooler
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.