2010-08-05 72 views
6

我需要在qt視圖中顯示一組分層數據。我正在使用QColumnView來顯示模型。但是,有一個功能可以將視圖中的最後一列降級到預覽窗口小部件。有沒有可能隱藏這個?例如,像view.setPreviewWidget(NULL),雖然這打破了程序是否可以從qt QColumnView中刪除預覽小部件?

編輯:我應該澄清,我想要一種方法來完全隱藏最後一列,即有我的視圖中的最後一列是模型的「葉」,並且不具有預覽空間

+0

使得previewWidget的寬度爲零(我認爲它是最後一列)[QColumnView :: setColumnWidths](http://doc.qt.io/qt-4.8/qcolumnview.html#setColumnWidths) – Redanium 2016-07-15 23:05:42

回答

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,sorry我應該澄清,我希望預覽空間根本不可見。這確實隱藏了按鈕,但留下了一個空白列。 – user412411 2010-08-05 22:16:46

+0

您希望剩餘的列被拉伸並佔用預覽小部件留下的空間嗎? – andref 2010-08-05 23:27:47

+1

啊,是的,這正是我想要的,我會怎麼做呢? – user412411 2010-08-06 16:34:56

相關問題