2014-02-12 2 views
0

비슷한 질문이 있지만 그 중 어느 것도 해결책이 없다는 것을 알고 있습니다. QA 문서는 QAbstractScrollArea :: setViewportMargins()에 대해 다음을 지정합니다.QTableView에서 고정 된 꼬리말 행을 만드는 방법

"스크롤 영역 주위의 여백을 왼쪽, 위, 아래 및 오른쪽으로 설정합니다."잠긴 "행 및 열이있는 스프레드 시트와 같은 응용 프로그램에 유용합니다. 여백 공간이 비어 있고 사용되지 않는 영역에 위젯 넣기 이 함수는 QTreeView 및 QTableView에서 자주 호출되므로 QAbstractScrollArea 하위 클래스로 여백을 구현해야하며 하위 클래스를 항목 뷰에서 사용하려면, 그들은이 함수를 호출해서는 안됩니다. 기본적으로 모든 여백은 0입니다. "

setViewportMargins를 호출하여 고정 된 행의 공간을 만들 수 있었지만 그 공간에 컨트롤을 배치하는 방법을 알 수 없습니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?

답변

0

code editor example을 조사해야합니다.

기본적으로 뷰포트 여백에 위젯을 배치하기 만하면됩니다. QTableView 개체의 크기가 조정되면 위젯의 크기를 조정해야합니다. 물론 QTableView 개체의 resize event에서 이루어집니다.

이것은이 예에서 어떻게하는지입니다 :

void CodeEditor::resizeEvent(QResizeEvent *e) 
{ 
    QPlainTextEdit::resizeEvent(e); 

    QRect cr = contentsRect(); 
    lineNumberArea->setGeometry(QRect(cr.left(), cr.top(), lineNumberAreaWidth(), cr.height())); 
} 
+0

감사합니다, 내가 할하는 데 필요한 모든 통화 setGeometry이었다 – Alex

관련 문제