CMake + vscode +qt 编译-qrc ui

cmake_minimum_required(VERSION 3.5) # CMake install : https://cmake.org/download/
project(reader LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_PREFIX_PATH "d:/Qt/5.15.2/mingw81_64") # Qt Kit Dir
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt5 COMPONENTS Widgets REQUIRED) # Qt COMPONENTS
aux_source_directory(./src srcs)
# 查找当前文件夹中的所有相关文件
FILE(GLOB SOURCE_FILES "./*.cpp") 
FILE(GLOB HEADER_FILES "./*.h") 
FILE(GLOB UI_FILES "./*.ui") 

# 通过Ui文件生成对应的头文件
QT5_WRAP_UI(WRAP_FILES ${UI_FILES})

SET(RCC_FILES ./res/res.qrc)

# Specify MSVC UTF-8 encoding   
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")

SOURCE_GROUP("UI" FILES ${UI_FILES} ${WRAP_FILES} )

add_executable(${PROJECT_NAME}
    WIN32 # If you need a terminal for debug, please comment this statement 
    ${srcs} 
    ${RCC_FILES}
) 
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets) # Qt5 Shared Library
bool reader::initFont() {
    QFontDatabase fontDB;
    if (!fontDB.families().contains("iconfont")) {
        int fontId = QFontDatabase::addApplicationFont(":/font/iconfont.ttf");
        QStringList fontName = fontDB.applicationFontFamilies(fontId);
        if (fontName.count() == 0) {
            qDebug() << "error";
            return false;
        }
        qDebug() << "fontId";
    }
    if (fontDB.families().contains("iconfont")) {
        qDebug() << "ddd";
        iconFont = QFont("iconfont");
        iconFont.setHintingPreference(QFont::PreferNoHinting);
    }
    qDebug() << "xxxx";
    return true;
}

void reader::click() {
    ui->pushButton->setStyleSheet("font-family: iconfont");
    ui->pushButton->setFont(iconFont);
    ui->pushButton->setText(QChar(0xe6b3));
    ui->pushButton->setStyleSheet("font-size:18px;color:#ff0000;");
    QMessageBox msgBox;
    msgBox.setText("The document has been modified.");
    msgBox.exec();
}
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值