首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

scrollArea有序显示任意多张图片

2013-03-27 
scrollArea有序展示任意多张图片我想完成一个选中一组图片并将他们在窗口中展示的功能,就像打开文件夹,可

scrollArea有序展示任意多张图片
我想完成一个选中一组图片并将他们在窗口中展示的功能,就像打开文件夹,可以通过scroll Bar浏览各图片一样。现在已经实现了获取各张图片路径的功能,我下一步的想法是先加入一个scrollArea,然后创建与图片张数相等的label,最后将图片一个一个的插入进去。但是现在遇到的问题是,我创建了label之后,是通过下面这句将label(名字为imageLabel)插入到scrollArea中的:
ui->scrollArea->setWidget(imageLabel);

但是发现这样就没法修改这个label的具体位置了,我是用setGeometry修改的,不起作用。
imageLabel->setGeometry(100, 100, 50, 30);

我不知道是我修改位置的方法不对还是一开始的思路就错了。

如果有解决我的这个问题的方法或者有更好的思路,请稍微详细点和我解释一下,初学Qt,希望各路大神能够多多指教,谢谢! scrollArea 图片
[解决办法]
其实可以先创建一个Widget,将你所要摆布的label放入这个Widget中,然后将这些lable用layout排布一下,最后把这个widget设为scrollarea的主窗口。可参考一下代码:
QGridLayout *layout = new QGridLayout;
QWidget *containWidget = new QWidget;
for (int i = 0; i < 10; ++i)
{
        QLabel *label = new QLabel;
        layout->addWidget(label);
}

    containWidget->setLayout(layout);
    ui->scrollArea->setWidgetResizable(true);
    ui->scrollArea->setWidget(containWidget);
    this->setCentralWidget(ui->scrollArea);

热点排行