2010-08-05 3 views
6

Qt 뷰에 계층 적 데이터 세트를 표시해야합니다. 나는 모델을 표시하기 위해 QColumnView를 사용하고있다. 그러나보기의 마지막 열이 미리보기 위젯으로 이동되는 기능이 있습니다. 이것을 숨길 수 있습니까? 예 : view.setPreviewWidget (NULL)과 같은 것입니다.이 경우 프로그램이 중단됩니다.qt QColumnView에서 미리보기 위젯을 제거 할 수 있습니까?

편집 : 마지막 열을 완전히 숨길 수있는 방법을 분명히해야합니다. 즉, 내보기의 마지막 열을 모델의 "잎"과 미리보기 공간이 없습니다.

+0

previewWidget의 폭을 0으로 만듭니다. (마지막 열이라고 생각합니다) [QColumnView :: setColumnWidths] (http://doc.qt.io/qt-4.8/qcolumnview.html#setColumnWidths) – Redanium

답변

0

클릭하면 단추가 숨겨집니다.

#include <QtGui/QApplication> 
#include <QtGui/QColumnView> 
#include <QtGui/QPushButton> 
#include <QtGui/QFileSystemModel> 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    QColumnView view; 
    QFileSystemModel model; 
    QPushButton button(&view); 

    button.setText("Click me"); 
    QObject::connect(&button, SIGNAL(clicked()), &button, SLOT(hide())); 

    model.setRootPath("/"); 

    view.setModel(&model); 
    view.setPreviewWidget(&button); 
    view.show(); 

    return a.exec(); 
} 

영원히 숨겨집니다. 다시 표시하려면 show()으로 전화해야합니다.

+0

Ahh, 죄송합니다. 미리보기 공간을 전혀 보이지 않게하고 싶습니다. 이렇게하면 버튼이 숨겨 지지만 빈 열은 남습니다. – user412411

+0

나머지 열을 펼치고 미리보기 위젯이 남긴 공간을 차지하기를 원하십니까? – andref

+1

아, 그렇습니다. 그게 내가 원하는 것입니다. 그 일을 어떻게 하죠? – user412411

관련 문제