스크롤 가능한 "컨트롤 컨테이너"위젯을 디자인하고 싶습니다. 의미, 라이브 컨트롤 (QWidget 파생물)을 포함 할 수있는 스크롤 가능한보기. "라이브 컨트롤"에 의해 파생 된 애니메이션 QWidget이 배치 된 경우 하위 컨트롤이 위아래로 움직이는 동안 위아래로 스크롤 할 때 애니메이션을보고 싶습니다.Qt : QAbstractScrollArea와 관련된 아키텍처 조언
"QAbstractScrollArea"에서 위젯을 사용하면 올바른 방법일까요? 나는 단순히 컨트롤을 어린이로 추가하겠습니까? 그들을 열에 위치 시키시겠습니까? 충분하니?
편집 :
이 내 QAbstractScrollArea 파생 클래스에서 생성자 코드입니다. 컨트롤을 스크롤 할 수있는 스크롤 막대가 표시되지 않는 이유는 무엇입니까? (내가 통제 할 수있는 높이에 따라 같은 페이지에 모든 것을 볼 수있는 것은 아닙니다)
// add controls
QPushButton *a = new QPushButton(QString("a"), this);
a->setGeometry(QRect(10,10,100,30));
QPushButton *b = new QPushButton(QString("b"), this);
b->setGeometry(QRect(10,40,100,30));
QPushButton *c = new QPushButton(QString("c"), this);
c->setGeometry(QRect(10,70,100,30));
QPushButton *d = new QPushButton(QString("d"), this);
d->setGeometry(QRect(10,100,100,30));
QPushButton *e = new QPushButton(QString("e"), this);
e->setGeometry(QRect(10,130,100,30));
QPushButton *f = new QPushButton(QString("f"), this);
f->setGeometry(QRect(10,160,100,30));
QPushButton *g = new QPushButton(QString("g"), this);
g->setGeometry(QRect(10,190,100,30));
QPushButton *h = new QPushButton(QString("h"), this);
h->setGeometry(QRect(10,220,100,30));
this->addScrollBarWidget(new QScrollBar(this), Qt::AlignRight);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
코드가 작동하지 않습니다. 때 "setWidget"내 전체 컨테이너가 사라지고 보이지 않는 상태로 유지됩니다. 그것이 없으면, 나는 그것을 볼 수 있지만 스크롤바는 없다. Mac에서 qt 4.7.4 사용. – JasonGenX
[documentation] (http://doc.qt.nokia.com/4.7/qscrollarea.html#setWidget)은 "위젯을 추가 할 때 스크롤 영역이 보이면 명시 적으로 표시해야합니다."라고 말합니다. 또한 setWidget이 호출되기 전에 컨테이너 위젯의 레이아웃을 설정해야한다고 말합니다. 미안하지만, 전에는 몰랐어. 희망 그 작동! –