我需要在Qt视图中显示一组分层数据。我使用QColumnView来显示模型。但是,该视图具有一个特性,即视图中的最后一列将被降级为预览小部件。是否可以隐藏它?例如,像view.setPreviewWidget(NULL)这样的内容,尽管这会破坏程序。
编辑:我应该澄清,我想要一种方法来完全隐藏最后一列,即使视图中的最后一列是模型的“叶子”,也不要预留空间。
编辑:我应该澄清,我想要一种方法来完全隐藏最后一列,即使视图中的最后一列是模型的“叶子”,也不要预留空间。
当按钮被点击时,它将被隐藏。
#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()
。