Больше хочу переспросить, прав ли я что это бага.
В примере - дерево. Если элемент с двумя колонками перетащить в элемент "folder" то:
- если вторая колонка будет видима она нормально переедет
- если будет невидима (те перетащили и потом включили видимость) то эта колонка "пропадет".
#ifndef DIALOG_H
#define DIALOG_H
#include <QtGui>
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
QTreeView *view;
public slots:
void showHidden();
};
#endif // DIALOG_H
#include "dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
view = new QTreeView();
QStandardItemModel *model = new QStandardItemModel();
QStandardItem *root = model->invisibleRootItem();
QStandardItem *item1 = new QStandardItem("first_column ");
root->setChild(0,item1);
QStandardItem *item2 = new QStandardItem("second_column ");
root->setChild(0,1,item2);
QStandardItem *folder1 = new QStandardItem("folder");
root->appendRow(folder1);
view->setModel(model);
view->setDragDropMode(QAbstractItemView::InternalMove);
view->setColumnHidden(1, true);
QPushButton *bt = new QPushButton("Show/Hide");
connect(bt, SIGNAL(clicked()), this, SLOT(showHidden()));
QVBoxLayout *lay = new QVBoxLayout();
lay->addWidget(view);
lay->addWidget(bt);
setLayout(lay);
}
void Dialog::showHidden(){
view->setColumnHidden(1, !view->isColumnHidden(1));
}
Dialog::~Dialog()
{
}