我需要在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