C++ (Qt)NamedScroll::NamedScroll(QWidget *parent) : QScrollArea(parent){ l1 = new QLabel(); QVBoxLayout *layout = new QVBoxLayout(this); layout ->addWidget(l1); this->setLayout(layout);} void NamedScroll::paintEvent(QPaintEvent *event){ mName = "0 \n 1 \n 2 \n 3 \n 4 \n 6 \n 7 \n 8 \n 9 \n 10 \n 11 \n 12 \n 13 \n 14 \n 15"; l1->setText(mName); QScrollArea::paintEvent(event); QPainter paint(viewport()); QRect mRect = this->viewport()->rect(); paint.setPen(Qt::black); paint.drawText(mRect, Qt::AlignRight | Qt::AlignBottom, mNumber); update();}
C++ (Qt)void QScrollArea::setWidget ( QWidget * widget )
C++ (Qt) QVBoxLayout *layout = new QVBoxLayout(this); l1 = new QLabel("123321"); layout ->addWidget(l1); this->setLayout(layout); setBackgroundRole(QPalette::Dark); setWidget(l1);
C++ (Qt) QHBoxLayout *layout = new QHBoxLayout(); QLabel *l1 = new QLabel("Label1"); QLabel *l2 = new QLabel("Label2"); QLabel *l3 = new QLabel("Label3"); layout ->addWidget(l1); layout ->addWidget(l2); layout ->addWidget(l3); QWidget *w = new QWidget(); w->setLayout(layout); setWidget(w);
C++ (Qt)ScrollArea::ScrollArea(QWidget *parent) : QScrollArea(parent){ QWidget *w = new QWidget(); QHBoxLayout *layout = new QHBoxLayout(); l1 = new QLabel("Label \n Label1 \n Label1 \n Label1 \n Label1 \n Label1 \n"); layout ->addWidget(l1); w->setLayout(layout); setWidget(w);} void NamedLabel::paintEvent(QPaintEvent *event){ QScrollArea::paintEvent(event); // Текст надписи меняется, размер должен увеличиться, но полоса прокрутки не появляется. Изменение SizePolicy не помогает. mName = "1 \n 2 \n 3 \n 4 \n 6 \n 7 \n8 !!! \n 1 \n 2 \n 3 \n 4 \n 6 \n 7 \n 8"; l1->setText(mName); QPainter paint(viewport()); QRect mRect = this->viewport()->rect(); paint.fillRect(mRect,Qt::yellow); // Надпись не видно paint.drawText(mRect, Qt::AlignLeft | Qt::AlignTop, "Меня не видно"); paint.drawText(mRect, Qt::AlignRight | Qt::AlignBottom, "Меня видно"); paint.end();}