C++ Qt:当通过Unicode访问时,更改Qt中通过FontAware使用的图标的颜色。

C++ Qt:当通过Unicode访问时,更改Qt中通过FontAware使用的图标的颜色。,c++,qt,unicode,font-awesome,qicon,C++,Qt,Unicode,Font Awesome,Qicon,我已经编写了一个代码来打印一个从系统中安装的FontAwesome访问的图标。我想更改屏幕上打印的图标的颜色。我已尝试使用QPixmap和QIcon,但无效。附加输出: #包括“MainWindow.h” #包括“ui_main window.h” #包括 #包括 #包括 #包括 #包括“qfonticon.h” 主窗口::主窗口(QWidget*父窗口): QMainWindow(父级), 用户界面(新用户界面::主窗口) { 用户界面->设置用户界面(此); QWidget*centralW

我已经编写了一个代码来打印一个从系统中安装的FontAwesome访问的图标。我想更改屏幕上打印的图标的颜色。我已尝试使用QPixmap和QIcon,但无效。附加输出:

#包括“MainWindow.h”
#包括“ui_main window.h”
#包括
#包括
#包括
#包括
#包括“qfonticon.h”
主窗口::主窗口(QWidget*父窗口):
QMainWindow(父级),
用户界面(新用户界面::主窗口)
{
用户界面->设置用户界面(此);
QWidget*centralWidget;
QGridLayout*gridLayout;
centralWidget=新的QWidget(此);
gridLayout=新的QGridLayout(centralWidget);
QFontIcon::addFont(“/usr/share/fonts/fontWebFont.ttf”);
QIcon图标=QFontIcon::图标(0xf2e0,QColor(1,0,1255));
//QfonticoneEngine::addFile(“/usr/share/font/fonts/fontowesome webfont.ttf”);
//QPixmap pix=QFontIconEngine:;
QPushButton*b=新的QPushButton();
//QLabel*l=新的QLabel();
b->设置图标(图标);
b->setIconSize(QSize(75,75));
//l->setPixmap(pix);
gridLayout->addWidget(b);
//gridLayout->addWidget(l);
此->设置centralWidget(centralWidget);
}
MainWindow::~MainWindow()
{
删除用户界面;
}

@G.M Hi G.M.,我希望你能帮我解决上述情况。@eyllanesc我希望你能帮我解决上述情况
QColor(1,0,1255)
你在发布的代码中使用的颜色基本上是黑色的,这就是你看到的。如果只使用类似于
Qt::red
的东西,会发生什么?那还只是显示一个黑色图标吗?当我尝试时,
QFontIcon::icon
baseColor
参数肯定能按预期工作。
#include "MainWindow.h"
#include "ui_MainWindow.h"

#include <QPushButton>
#include <QGridLayout>
#include <QWidget>
#include <QLabel>

#include "qfonticon.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QWidget *centralWidget;
    QGridLayout *gridLayout;

    centralWidget = new QWidget(this);
    gridLayout = new QGridLayout( centralWidget );

    QFontIcon::addFont("/usr/share/fonts/fontawesome-webfont.ttf");



        QIcon icon = QFontIcon::icon(0xf2e0,QColor(1,0,1,255));

        //QFontIconEngine::addFile("/usr/share/fonts/fontawesome-webfont.ttf");
        //QPixmap pix = QFontIconEngine::;
        QPushButton *b = new QPushButton();
        //QLabel *l = new QLabel();
        b->setIcon(icon);
        b->setIconSize(QSize(75,75));
        //l->setPixmap(pix);
        gridLayout->addWidget(b);
        //gridLayout->addWidget(l);

    this->setCentralWidget(centralWidget);
}

MainWindow::~MainWindow()
{
    delete ui;
}