QT embellece el uso de iconos de fuentes

Preparar recursos de iconos de fuentes

Dirección de descarga de Fontawesome
Descomprima el archivo y obtenga lo siguiente
Inserte la descripción de la imagen aquí

Establecer proyecto QT

Utilice qtcreator para crear un proyecto de ventana principal

El proyecto agrega archivos de recursos de icono de fuente

Al .proaumentar el archivo se lee lo siguiente:

RESOURCES += \
    resource/resource.qrc

Luego crea en el directorio del proyecto

#建立resource目录
mkdir -p resource
mkdir -p resource/ico_ttf
#建立qrc文件
touch resource/resource.qrc

Editar resource.qrcarchivo

<RCC>
    <qresource prefix="/resource_file"/>
    <qresource prefix="/">
        <file>ico_ttf/fontawesome-webfont.ttf</file>
    </qresource>
</RCC>

Copie desde el directorio de descompresión fontawesome descargado fontawesome-webfont.ttfal ico_ttfdirectorio

Crear un control de botón

Abra la herramienta de diseño de UI y arrastre un PushButton a la interfaz

En la instanciación en mainwindow.cpp

/*装载图形字体*/
QFont iconFont;
QFontDatabase fontDb;
if(!fontDb.families().contains("FontAwesome"))
{
    
    
    int fontId = fontDb.addApplicationFont(":/ico_ttf/fontawesome-webfont.ttf");
    QStringList fontName = fontDb.applicationFontFamilies(fontId);
    if(fontName.count() == 0)
    {
    
    
        qDebug() << "load fontawesome-webfont.ttf error";
    }
}
if(fontDb.families().contains("FontAwesome"))
{
    
    
    iconFont = QFont("FontAwesome");
    iconFont.setHintingPreference(QFont::PreferNoHinting);
}
iconFont.setPixelSize(14);

Establecer fuente del botón
Busque la fuente que desea establecer
Inserte la descripción de la imagen aquí
Copiar nombre fa-file-textpara font-awesome.cssbuscar
Inserte la descripción de la imagen aquí

QString ico_text = QString("%1%2").arg(QChar(0xf15c)).arg(" 文件");
ui->pushButton->setFont(iconFont);
ui->pushButton->setText(ico_text);

resultado de ejecución

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_42892101/article/details/111912016
Recomendado
Clasificación