开/关如何以角度照明?

问题描述

我有一个用户列表,我需要为每个用户创建一个有角度的徽章圆圈(绿色/红色),对于活动用户,圆圈绿色指示灯亮,对于不活动用户,圆圈红色指示灯..谢谢>

解决方法

使用超赞的字体。然后使用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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...