我正在设置用户管理器,我需要实施用户状态策略。我在 QTreeWidget 中有一个用户列表,每个用户都有自己的 QTreeWidgetItem。用户有一些属性(禁止,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;
输出:
我希望看到:复选框、图标(如果用户被禁止)、图标(如果用户有密码)、图标(如果用户有管理员权限)、文本(用户名)。使用按钮很难设置样式(设置宽度、高度、平面按钮...)。是否有任何适当且更简单的方法来仅插入像素图?感谢您的建议和提示。