QTreeWidget Как добавить пользовательские элементы управления внутри 1 столбца 9umn?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 QTreeWidget Как добавить пользовательские элементы управления внутри 1 столбца 9umn?

Сообщение Гость »


Я хочу создать систему слоев, подобную Photoshop, с использованием QTreeWidget, поскольку она допускает групповую структуру.

Вот что я хочу добавить:

Горизонтальный макет: [Значок, LineEdit, Флажок] Однако я не знаю, как разместить там элементы управления, особенно расположенные, как в Photoshop.

Я создал подкласс QTreeWidget: обратите внимание, что мне нужно поддерживать перетаскивание для группировки и пользовательскую высоту слоев. Флажок должен располагаться по краю справа, а размер значка должен быть 32x32 пикселя:
ViewLayerList::ViewLayerList (сцена CustomGraphicsScene*, родительский элемент QWidget*) : QTreeWidget{родительский}, Scene_durchgereicht(сцена) { это->setHeaderHidden(ложь); это->setRootIsDecorated(истина); this->setStyleSheet("QTreeWidget::item { height: 50px; }"); это->setIndentation(0); это->setColumnCount(1); это->setFocusPolicy(Qt::NoFocus); QTreeWidgetItem* item = новый QTreeWidgetItem(); item->setText(0, «Привет»); это->addTopLevelItem(пункт); QWidget* виджет = новый QWidget; QHBoxLayout* макет = новый QHBoxLayout(виджет); QTreeWidgetItem*treeItem = новый QTreeWidgetItem(); QLineEdit* lineEdit = новый QLineEdit; lineEdit->setPlaceholderText(""); lineEdit->setReadOnly(истина); QCheckBox* checkBox = новый QCheckBox; lineEdit->setAlignment(Qt::AlignVCenter); макет->addSpacing(10); макет->addWidget(lineEdit); макет->addStretch(1); макет->addWidget(checkBox); макет->setContentsMargins(0, 0, 10, 0); макет->setSpacing(20); виджет->setLayout(макет); TreeItem->setSizeHint(0, виджет->sizeHint()); TreeItem->setText(0, ""); TreeItem->setIcon(0, QIcon(":/resource/quick.png")); TreeItem->setSizeHint(0, QSize(treeItem->sizeHint(0).width(), 35)); это->addTopLevelItem(treeItem); this->setItemWidget(treeItem, 0, виджет); this->setDragDropMode(QAbstractItemView::InternalMove); this->setSelectionMode(QAbstractItemView::ExtendedSelection); это->setDragEnabled(истина); это->setAcceptDrops(истина); это->setDropIndicatorShown(истина); }
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Qt C++ QTreeWidget Как добавить пользовательские элементы управления внутри 1 столбца?
    Гость » » в форуме C++
    0 Ответы
    36 Просмотры
    Последнее сообщение Гость
  • Расширение ширины столбца в qtreewidget динамически
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Слой Photoshop, такой как QTreeWidget Qt6 C++ – Нужна помощь
    Anonymous » » в форуме C++
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • PyQt6 QTreeWidget не импортирует цвета из файла пользовательского интерфейса
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Сортировать QTreeWidget в алфавитном порядке, кроме одного элемента.
    Anonymous » » в форуме Python
    0 Ответы
    42 Просмотры
    Последнее сообщение Anonymous

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