Свойства

inthorizontalScrollBarPolicy READ / WRITE
intverticalScrollBarPolicy READ / WRITE

Методы

inthorizontalScrollBarPolicy ( )
intverticalScrollBarPolicy ( )

Слоты

voidsetHorizontalScrollBarPolicy ( Qt_ScrollBarPolicy policy )
voidsetHorizontalScrollBar ( QScrollBar *scrollBar )
voidsetVerticalScrollBarPolicy ( Qt_ScrollBarPolicy policy )
voidsetVerticalScrollBar ( QScrollBar *scrollBar )
voidsetWidget ( QWidget *widget )

Описание методов

int QScrollArea::horizontalScrollBarPolicy ( )  

int QScrollArea::verticalScrollBarPolicy ( )  

Описание слотов

void QScrollArea::setHorizontalScrollBarPolicy ( Qt_ScrollBarPolicy policy )  

void QScrollArea::setHorizontalScrollBar ( QScrollBar *scrollBar )  

void QScrollArea::setVerticalScrollBarPolicy ( Qt_ScrollBarPolicy policy )  

void QScrollArea::setVerticalScrollBar ( QScrollBar *scrollBar )  

void QScrollArea::setWidget ( QWidget *widget )  

Примеры

$app = new QApplication;

/*
 * Создаем нужное количество разметок.
 */
$mainLayout = new QVBoxLayout;
$frameLayout = new QVBoxLayout;
$scrollLayout = new QVBoxLayout;

/*
 * Создаем основное окно программы.
 * Сразу для всех виджетов устанавливаем разметки.
 */
$mainWindow = new QWidget;
$mainWindow->setLayout($mainLayout);
$mainWindow->windowTitle = "PQStudio";

/*
 * Создаем область прогрутки.
 */
$scrollArea = new QScrollArea($mainWindow);
$scrollArea->setLayout($scrollLayout);

/*
 * Создаем объект, который будет помещен в область прокрутки.
 *
 * Здесь создается объект-рамка с видимыми границами, чтобы
 * можно было видеть когда он перекрывается границами окна.
 */
$frame = new QFrame;
$frame->frameShape = QFrame_Shape_Panel;
$frame->frameShadow = QFrame_Shadow_Sunken;
$frame->setLayout($frameLayout);

// отправляем нашу рамку в область прокрутки.
$scrollArea->setWidget($frame);

/*
 * Чтобы позволить области прокрутки растягивать рамку,
 * добавляем эту рамку в разметку области прокрутки.
 */
$scrollLayout->addWidget($frame);

// добавляем область прогрутки в разметку основного окна.
$mainLayout->addWidget($scrollArea);

// Заполняем рамку объектами
$frame_minimumHeight = 0;
$buttonHeight = 30;

for($i = 0; $i <= 10; $i++) {
  $button = new QPushButton($frame);
  $button->text = "Кнопка №$i";
  $button->minimumHeight = $buttonHeight;
  $button->setObjectName("button_$i");
  
  $frameLayout->addWidget($button);
  
  $frame_minimumHeight += $buttonHeight+5;
}

// Устанавливаем рамке минимальную высоту
$frame->minimumHeight = $frame_minimumHeight;

// Добавляем распорку снизу
$frameLayout->addSpacer(2000, 2000, 
                          QSizePolicy_Policy_Expanding,
                          QSizePolicy_Policy_Expanding);

$app->exec();
comments powered by HyperComments