Как установить маржу Viewport на QtreeView?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как установить маржу Viewport на QtreeView?

Сообщение Anonymous »

Я пытаюсь установить маржу на верхней стороне Qtreeview ViewPort. /> Это добавляет пространство:

Но глюки вида, когда элемент парят, это разочарование, и нажимает также не нажимает. Такая же проблема возникает, пытаясь изменить прямоугольник, используя QStyleDiTemDelegate.#define qq qDebug().noquote().nospace()

class TreeDelegate : public QStyledItemDelegate
{
public:
TreeDelegate(QObject* parent) : QStyledItemDelegate(parent) {}

void initStyleOption(QStyleOptionViewItem* option, const QModelIndex& index) const override
{
//option->rect.moveTop(option->rect.y() + 20);
QStyledItemDelegate::initStyleOption(option, index);
}

void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override
{
QStyledItemDelegate::paint(painter, option, index);
}
};

class MyTreeView : public QTreeView
{
public:
MyTreeView(QWidget* parent = nullptr) : QTreeView(parent)
{
QStandardItemModel* model = new QStandardItemModel(this);
setModel(model);
setIndentation(0);
setRootIsDecorated(false);

model->setHorizontalHeaderItem(0, new QStandardItem("col1"));
model->setHorizontalHeaderItem(1, new QStandardItem("col2"));
for (int i =0; i< 22; i++)
{
QList row;
for (int j = 0; j < 2; j++)
{
row.append(new QStandardItem(QString::number(i)));
}
model->appendRow(row);
}

setViewportMargins(0, 20, 0, 0);
setItemDelegate(new TreeDelegate(this));

connect(new QShortcut(QKeySequence(Qt::Key_F4), this), &QShortcut::activated, [&]
{
setViewportMargins(0, 20, 0, 0);
});
connect(new QShortcut(QKeySequence(Qt::Key_F6), this), &QShortcut::activated, [&]
{
qq

Подробнее здесь: https://stackoverflow.com/questions/794 ... -qtreeview
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»