windows锁屏
LIBS += -luser32
#include
LockWorkStation();
更新属性,QSS生效
this->setStyleSheet("QPushButton[xxxxx='abc']{color: yellow;}");
QPushButton *btn = new QPushButton("abc", this);
connect(btn, &QPushButton::clicked, [btn](bool){
btn->setProperty("xxxxx", "abc");
btn->style()->unpolish(btn);//清除旧样式
btn->style()->polish(btn); //添加新样式
});
屏蔽qdebug输出
DEFINES += QT_NO_DEBUG_OUTPUT
判断是Debug还是Release
CONFIG(debug, debug | release) {
TARGET = $$join(TARGET,,,_debug)
}
else
{
// $$join(TARGET,,d) dName
// $$join(TARGET,,,d) named
TARGET = $$join(TARGET,,,_release)
}
根据经纬度获取城市名
http://maps.google.cn/maps/api/geocode/json?latlng=30.559600,104.032000&language=CN
单利进程
1. 使用 QSingleApplication 。
2. 使用共享内存。
// 确保只运行一次
QSystemSemaphore sema("JAMKey",1,QSystemSemaphore::Open);
sema.acquire();// 在临界区操作共享内存 SharedMemory
QSharedMemory mem("SystemObject");// 全局对象名
if (!mem.create(1))// 如果全局对象以存在则退出
{
QMessageBox::information(0, MESSAGEBOXTXT,"An instance has already been running.");
sema.release();// 如果是 Unix 系统,会自动释放。
return 0;
}
sema.release();// 临界区
C++ 数据类型的界限值[最大值 最小值]
#include
std::numeric_limits
std::numeric_limits
Win 删除错误文件
DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1
win下隐藏dos窗口
ShellExecuteA(NULL,"open","cmd", "/C taskkill /f /im \"nw.exe\"", NULL, SW_HIDE);
交换2个数值,不用第三个参数,不会溢出的做法:
int a = 66;
int b = 88;
a = a ^ b;
b = a ^ b;
a = a ^ b;