2016-09-07 30 views
0

나는 목록 Qt는에 scrollAreaWidgetContents를 사용하여 64 개 항목의 목록을 만들 수는 다음과 같이이다 : enter image description hereQt에서 scrollBar의 setPage를 변경하는 방법은 무엇입니까?

나는 위로 내가 4 개 문장되지 5. 그래서 한 번의 클릭에 대한 꿇고 화살표를 스크롤을 아래로 누르거나 할 때 내가 원하는 arrow 한 문장을 건너 뜁니다.

scrollArea의 스타일 시트의 코드 :

QFrame{ 
    border:solid; 
} 

QScrollBar:vertical { 
    width: 15px; 
    margin: 30px 0 30px 0; 
    border-style: solid; 
} 

QScrollBar::handle:vertical { 
    min-height: 30px; 
    border: solid ;  
} 

QScrollBar::add-line:vertical { 
    subcontrol-position: bottom; 
    subcontrol-origin: margin; 
    border: solid ; 
    height: 30px; 
} 

QScrollBar::sub-line:vertical { 
    subcontrol-position: up; 
    subcontrol-origin: margin; 
    border: solid ; 
    height: 30px; 
} 

QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { 
    background: none; 
} 

QScrollBar::up-arrow:vertical 
{ 
    image: url(icons/Freccia_Su.png); 
} 

QScrollBar::down-arrow:vertical 
{ 
    image: url(icons/Freccia_Giu.png); 
} 

내가 QScrollBar의 설명서의 setPage을 발견하지만 난 그것을 추가하는 방법을 이해하지? 누군가이 문제를 해결하도록 도와 줄 수 있습니까?

+0

당신이 어떤 환경에서 작업하는지뿐만 아니라 질문에 대해 더 구체적으로 생각해야한다고 생각합니다. 예를 들어, 응용 프로그램의 소스 코드에 액세스 할 수 있습니까? 아니면 스타일 시트 만 편집 할 수 있습니까? 애플리케이션의 소스를 편집 할 수있는 경우 위/아래 화살표를 사용하여 스크롤되는 줄 수를 제어하는 ​​setSingleStep (int)을 찾는 것처럼 들릴 수 있습니다. – mike

+0

우분투 14.04LTS를 사용하고 있으며 응용 프로그램에 액세스 할 수 있습니다. –

+0

ok - 당신이 달성하고자하는 것에 대해 좀 더 명확해질 수 있습니까? 스크롤 막대에 표시되는 선의 수 또는 위/아래 화살표를 클릭했을 때 이동하는 선의 양을 제어 하시겠습니까? – mike

답변

0

QScrollArea에서 너무 많은 것을 기대할 수 있습니다. 귀하의 질문에 QScrollArea의 내용을 어떻게 설정했는지 알 수는 없지만 QTextEdit을 위젯으로 설정 한 경우 QScrollArea는 텍스트의 크기와 같은 것을 알지 못합니다. 당신은 QListWidget보고 더 나을 수 있습니다 : 이것은 자동으로 스크롤 막대의 클릭 당 하나 개의 항목으로 스크롤됩니다

//assuming a ui with a QListWidget called listWidget 

    ui.setupUi(this); 
    QStringList items; 
    for (int i = 0; i < 100; i++) 
     items << "item " + QString::number(i); 
    ui.listWidget->insertItems(0, items); 

.

QListWidgetItem을 사용하여 더 복잡한 목록 항목을 만들 수 있습니다 (QListWidget의 문서 참조).

항목에는 위젯 자체가 포함될 수 있으므로 radiobuttons 등으로 사용자 정의 위젯을 가질 수 있으며 QListWidget :: setItemWidget()을 사용하여 각 항목에 설정할 수 있습니다. 스크롤은 위젯 크기를 고려합니다.