いくつかの情報を表示するウィジェットを作成しようとしています。各情報は、テキスト(情報)を含む複数のQLabelを含むQWidgetになります。私の考えは、複数(これらの配列)をQScrollAreaに入れて、ユーザーがそれらを上下にスクロールして表示できるようにすることです。次のコード:
InfoWidget::InfoWidget(QWidget* parent) : QWidget(parent){
widgets = new QVector<MarkerInfoWidget*>();
csv_data = 0;
csv_velocity = 0;
labels = 0;
infoWidgetLayout = new QVBoxLayout(this);
setLayout(infoWidgetLayout);
scrollArea = new QScrollArea(this);
scrollWidgetLayout = new QVBoxLayout(scrollArea);
scrollArea->setLayout(scrollWidgetLayout);
infoWidgetLayout->addWidget(scrollArea);
//Test
QString name = "TEST";
for(int i=0; i<10; i++){
MarkerInfoWidget* markerWidget = new MarkerInfoWidget(name, scrollArea);
scrollWidgetLayout->addWidget(markerWidget);
widgets->append(markerWidget);
}
}
MarkerInfoWidgetとInfoWidgetの両方がQWidgetを拡張します。私が得ているのは、非常に小さなテキストを持つ単純なボックスです。
ドラッグしてサイズを変更すると、正しく表示されます。
私が気付いたのは、サイズを小さくしすぎると、スクロールが生成されないことです。これを修正するには何が必要ですか?