我正在使用qt,并且我动态创建以下图片的对象(每个时间轴都是一个小部件)。 结构是我将此小部件添加到verticalLayout,即scrollArea包含的小部件。 但不幸的是,当它应该存在时,滚动条不会出现: 如果我增加窗口的大小,内容将正确显示: 但由于窗口内创建的时间线数量可能大于屏幕大小,因此我需要一个滚动条。可能是什么问题呢?该
编辑:一些源代码,主窗口的构造函数:某些代码不存在,因为它是使用QTCreator创建的
Schedule::Schedule(QString pathname, QWidget *parent) :
QWidget(parent),
ui(new Ui::Schedule)
{
ui->setupUi(this);
ui->scrollArea->setLayout(ui->pageLayout);
traceParser parser(pathname);
parser.readJson();
ArchitectureParameter arch = parser.getArchParam();
QString taskName;
for(std::list<QString>::iterator taskNameIter = parser.getTaskNames().begin();
taskNameIter != parser.getTaskNames().end(); taskNameIter++)
{
taskName = *taskNameIter;
TaskSchedule *t = new TaskSchedule(this , taskName, 80, arch.nCPU(), arch.maxTime(),
parser.getExecList(taskName), parser.getTaskSimpleEventsMap(taskName));
t->resize(600, t->height());
t->resize(600, t->width());
ui->pageLayout->addWidget(t);
}
}
答案 0 :(得分:1)
可能会发生这种情况,因为您在scrollArea上设置了布局。这是适合我的快速片段:
var testing = '[{"appid": "730", "contextid": "2", "amount": "1", "assetid": "2883267603"}, {"appid": "730", "contextid": "2", "amount": "1", "assetid": "3084880561"}]';
请注意,我在testWidget上设置布局,然后在scrollArea上设置setWidget