我正在设置一个用户管理器,我需要实施用户状态策略。我在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;
输出:
我希望看到以下内容: 复选框,图标(如果用户被禁止),图标(如果用户具有密码),图标(如果用户具有管理员权限),文本(用户名)。 使用按钮很难设置样式(设置宽度,高度,平面按钮...)。有什么合适且更简单的方法来仅插入像素图? 谢谢您的建议和提示。