我需要在qt視圖中顯示一組分層數據。我正在使用QColumnView來顯示模型。但是,有一個功能可以將視圖中的最後一列降級到預覽窗口小部件。有沒有可能隱藏這個?例如,像view.setPreviewWidget(NULL),雖然這打破了程序是否可以從qt QColumnView中刪除預覽小部件?
編輯:我應該澄清,我想要一種方法來完全隱藏最後一列,即有我的視圖中的最後一列是模型的「葉」,並且不具有預覽空間
我需要在qt視圖中顯示一組分層數據。我正在使用QColumnView來顯示模型。但是,有一個功能可以將視圖中的最後一列降級到預覽窗口小部件。有沒有可能隱藏這個?例如,像view.setPreviewWidget(NULL),雖然這打破了程序是否可以從qt QColumnView中刪除預覽小部件?
編輯:我應該澄清,我想要一種方法來完全隱藏最後一列,即有我的視圖中的最後一列是模型的「葉」,並且不具有預覽空間
這將在點擊時隱藏按鈕。
#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()
。
Ahh,sorry我應該澄清,我希望預覽空間根本不可見。這確實隱藏了按鈕,但留下了一個空白列。 – user412411 2010-08-05 22:16:46
您希望剩餘的列被拉伸並佔用預覽小部件留下的空間嗎? – andref 2010-08-05 23:27:47
啊,是的,這正是我想要的,我會怎麼做呢? – user412411 2010-08-06 16:34:56
使得previewWidget的寬度爲零(我認爲它是最後一列)[QColumnView :: setColumnWidths](http://doc.qt.io/qt-4.8/qcolumnview.html#setColumnWidths) – Redanium 2016-07-15 23:05:42