如何解决开/关如何以角度照明?
我有一个用户列表,我需要为每个用户创建一个有角度的徽章圆圈(绿色/红色),对于活动用户,圆圈绿色指示灯亮,对于不活动用户,圆圈红色指示灯..谢谢>
解决方法
使用超赞的字体。然后使用angular指令设置类。像这样:
<i class="fas fa-power-off" [class.on]=”isOn” (click)=“onClick()></i>
Css
i{color:red;} i.on{color:green}
打字稿
on=false;
onClick():void{
this.on=!this.on;
}
,
以下是动态生成状态的方法:
#include "filesystemmodel.h"
FileSystemModel::FileSystemModel(QString path): dataPath(path)
{
dataPath = QString(path);
setRootPath(dataPath);
setFilter(QDir::Files | QDir::Filter::Dirs | QDir::Filter::NoDotAndDotDot);
sort(COLUMN_FILENAME,Qt::SortOrder::AscendingOrder);
}
QVariant FileSystemModel::data(const QModelIndex& index,int role) const
{
// Q_D(const QFileSystemModel);
if (!index.isValid() || index.model() != this)
return QVariant();
switch (role) {
case Qt::EditRole:
break;
case Qt::DisplayRole:
switch (index.column()) {
case COLUMN_FILENAME:
return fileInfo(index).fileName();
case COLUMN_LOCATION: {
QFileInfo fi = fileInfo(index);
QString s = fi.filePath();
QString localReplace = s.replace(dataPath,"/Root");
return localReplace;
}
case COLUMN_DATE_MODIFIED:
return Global::dateToQString(fileInfo(index).lastModified());;
case COLUMN_SIZE: {
QFileInfo fi = fileInfo(index);
if (fi.isDir()) {
return QString("--");
}
else {
return locale.formattedDataSize(fi.size());
}
};
default:
return QVariant();
}
break;
case FilePathRole:
return filePath(index);
case FileNameRole:
return fileName(index);
case Qt::DecorationRole:
if (index.column() == COLUMN_ICON) {
QFileInfo fi = fileInfo(index);
if (fi.isFile()) {
QPixmap p = QPixmap(fi.filePath());
if (p.isNull()) {
return QFileSystemModel::iconProvider()->icon(fi);
}
p.scaled(ImageHelper::getCacheImageSize());
return QIcon(p);
}
else {
return QFileSystemModel::iconProvider()->icon(fi);
}
}
break;
case Qt::TextAlignmentRole:
switch (index.column()) {
case COLUMN_FILENAME:
case COLUMN_LOCATION:
return QVariant(Qt::AlignLeft | Qt::AlignVCenter);
case COLUMN_DATE_MODIFIED:
return QVariant(Qt::AlignCenter);
case COLUMN_SIZE:
return QVariant(Qt::AlignRight | Qt::AlignVCenter);
case COLUMN_ICON:
default:
return QVariant(Qt::AlignCenter);
}
}
return QFileSystemModel::data(index,role);
}
QFileInfo FileSystemModel::getFileInfo(const QModelIndex& index)
{
QFileInfo mfileInfo = QFileInfo(fileInfo(index));
return mfileInfo;
}
QVariant FileSystemModel::headerData(int section,Qt::Orientation orientation,int role) const
{
switch (role) {
case Qt::DisplayRole: {
switch (section) {
case COLUMN_ICON: return tr("Preview");
case COLUMN_FILENAME: return tr("Name");
case COLUMN_LOCATION: return tr("Location");
case COLUMN_DATE_MODIFIED: return tr("Last Date Modified");
case COLUMN_SIZE: return tr("Size");
}
return QVariant();
}
case Qt::SizeHintRole: {
return 128;
}
case Qt::TextAlignmentRole: {
return QVariant(Qt::AlignLeft);
}
}
return QVariant();
}
int FileSystemModel::columnCount(const QModelIndex& parent) const
{
Q_UNUSED(parent)
return 5;
}
这是工作示例:Stackblitz Example
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。