Qt笔记

1. 从布局对象中移除组件后要手动释放

ui->verticalLayout->removeWidget(ui->pushButton);

if (ui->pushButton!= nullptr)
{
    delete ui->pushButton;
    ui->pushButton = nullptr;
}

2. 设置程序图标(已知windows是这样)

在.pro文件中加入

RC_ICONS = main.ico

3. 以管理员权限运行(仅限windows)

在.pro文件中加入

QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator' uiAccess='false'" 

4. 直接用文件路径设置Qt样式

qApp->setStyleSheet("file:///:/qss/psblack.css");

判断当前Qt版本是否有某个模块

qtHaveModule(webenginewidgets) {
    message("当前Qt库有找到 webenginewidgets 模块")
}

!qtHaveModule(webkit) {
    message("当前Qt库没有找到 webkit 模块")
}

判断是否引入某个模块(eg: QT += network)

contains(QT, network) {
message("当前项目已经引入 network 模块")
}

!contains(QT, widgets) {
message("当前项目没有引入 widgets 模块")
}

使用原始字符串字面量,省去转义符

QString s1 = "test\\001.jpg";   // 使用转义符\
QString s1 = R"test\001.jpg";   // 使用字符串字面量R
posted @ 2025-04-18 16:42  上车去广西  阅读(30)  评论(0)    收藏  举报