Я разработал приложение Qt.Я построил форму с помощью Qt Designer.Важным фактом является то, что у меня есть область прокрутки, подобная этой:
<widget class="QScrollArea" name="scrollArea">
<property name="geometry">
<rect>
<x>299</x>
<y>50</y>
<width>631</width>
<height>441</height>
</rect>
</property>
<property name="widgetResizable">
<bool>false</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>639</width>
<height>429</height>
</rect>
</property>
</widget>
, затем в своей форме я сначала установил макет для моей QscrollArea:
Form::Form(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form)
{
ui->setupUi(this);
gridLayout = new QGridLayout;
ui->scrollArea->setLayout(gridLayout);
}
затем я хочу добавить 50 изображений и индикатор выполнения для каждого изображения (на самом деле я делаю мультимедийный поиск) внутри этой ScrollArea
for (int i=0;i<50;i++)
{
QLabel * L = new QLabel;
L->setScaledContents(true);
QProgressBar *dist=new QProgressBar;
L->setGeometry(250,150, 100, 100);
dist->setGeometry(250,150,100,100);
L->setObjectName("lab" + (i+1));
dist->setObjectName("d" + (i+1));
QString chemin ="my_path"+QString::fromStdString(im[i])+".jpg";
QPixmap image(chemin);
L->setPixmap(image.scaled(L->size()));
if((n_algo==2||n_algo==4)&&index_2==0)
dist->setValue(p[i]*100);
else if ((n_algo==2||n_algo==4)&&index_2==2)
dist->setValue(p[i]/p[0]*100);
else
dist->setValue(100-(p[i]*100));;
gridLayout->addWidget(L, 2*(i/10),i%10);
gridLayout->addWidget(dist,2*(i/10)+1,i%10);
}
Но это дает что-то вроде этого:
Это не так уж и плохо, но кажется, что изображения масштабируются таким образом, что все можно поместить в «физический» размер области.Действительно, если я увеличу количество столбцов (здесь число столбцов равно 10, знаменатель в двух последних строках), я получу сжатые изображения (что на самом деле странно, что sth), и кажется, что полосы прокрутки фактически никогда не используются(все всегда укладывается в окно фиксированного размера).
Мне бы хотелось, чтобы изображения были фиксированного и удобного размера независимо от количества отображаемых изображений или расположения (количества строк и столбцов), где онобудет иметь возможность прокрутки внутри области прокрутки, если необходимо, чтобы посмотреть на фотографии.
Спасибо за помощь
РЕДАКТИРОВАТЬ: после первого ответа, вот что у меня есть.Я до сих пор не могу прокрутить ...