Как добавить несколько иконок в QTreeWidgetItem? - PullRequest
0 голосов
/ 14 января 2019

Я настраиваю менеджера пользователей, и мне нужно реализовать политику статуй пользователя. У меня есть список пользователей в QTreeWidget, и у каждого пользователя есть свой собственный QTreeWidgetItem. У пользователя есть некоторые атрибуты (ban, hasPassword ...), и я хочу, чтобы он сразу отображался в списке.

bool cUserManager::addUser2TreeWidget(cUser* user) {
if (!user) return false;
QTreeWidgetItem* item_user = 0;
item_user = new QTreeWidgetItem(item_AVAILABLE);
item_user->setCheckState(0,Qt::Unchecked);
item_user->setText(0, user->getName());
QWidget *userStateIcons = new QWidget();
QHBoxLayout *hLayout = new QHBoxLayout();
hLayout->addWidget(new QPushButton(QIcon(PATH_ICON_BAN),""));
hLayout->addWidget(new QPushButton(QIcon("PATH_ICON_LOCK"),""));
userStateIcons->setLayout(hLayout);
ui.treeUsers->setItemWidget(item_user,1,userStateIcons);
return true;

Выход:

enter image description here

Я ожидаю увидеть: Флажок, значок (если пользователь забанен), значок (если у пользователя есть пароль), значок (если у пользователя есть права администратора), текст (имя пользователя). С помощью кнопок его очень сложно стилизовать (установить ширину, высоту, плоскую кнопку ...). Есть ли правильный и простой способ просто вставить только растровое изображение? Спасибо за советы и подсказки.

...