浮叶蓝空的博客
分享学习心得,记录学习笔记
文章:
84
访问:
525944
登录
关于
首页
今天是:
2025年09月09日 星期二
类别
PHP(39)
其他笔记(20)
Java(1)
C++(17)
mysql(2)
JavaScript(4)
近期文章
Linux下Cmake引用第三方静态库示例
Linux下使用Cmake构建静态库示例
Ubuntu设置自动挂载硬盘,挂载U盘
压力测试工具Apache JMeter基本使用
使用PHP脚本借助FFmpeg一键合并视频
Shell中的>、1>、2>、2>&1、&>详解
PHP开启多进程实现异步非阻塞并行执行任务
博主推荐
PHP实现文件下载接口
Qt读写注册表,C++读写注册表
PHP动态修改配置文件,存储为文件
MySql常用语法
Powershell远程连接
PHP从字符串中获取需要的内容部分
封装PHP的HTTP请求
Qt常用笔记
fuyelk
2021年06月01日
2497
### Qt常用笔记 ### 更新时间:2021年6月22日16:42:15 #### 一、.pro文件常用内容 ```cpp // 运行程序附带调试输出窗口 CONFIG += console pro // 版本号 VERSION = 0.0.1 // 图标 RC_ICONS = "icon.ico" ``` #### 二、.cpp常用 ```cpp // +-----------------+ // | 窗体设置 | // +-----------------+ // main函数最上面加这句解决高分辨率缩放比问题 QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // 隐藏窗体框 this->setWindowFlags(Qt::FramelessWindowHint); // 设置窗口标题 setWindowTitle("页面标题"); // 设置窗体大小 setFixedSize(430,360); // 设置窗体大小最小值(允许调整大小) setMinimumSize(430,260); // 自动填充背景 this->setAutoFillBackground(true); // 设置背景图片 QPalette palette = this->palette(); QPixmap bg(":/img/background.jpeg"); bg = bg.scaled(this->size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation); palette.setBrush(QPalette::Window,QBrush(bg)); this->setPalette(palette); // 设置背景颜色 QPalette palette = this->palette(); palette.setColor(QPalette::Background,"#fff"); // 设置白色背景 this->setPalette(palette); // 激活窗口 testWidget->raise(); testWidget->activateWindow(); testWidget->setWindowState((testWidget->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive); testWidget->show(); // +-----------------+ // | 语法相关 | // +-----------------+ // 信号与槽早期写法,通用Qt所有版本,只支持定义了slots关键字的函数 connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(test_slot())); // 新写法,支持Qt5及后期所有版本,支持所有函数,无需定义slots关键字也行 connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::test_slot); // 另类写法,支持支持闭包函数 connect(ui->pushButton, &QPushButton::clicked, [this] { qDebug() << "hello world"; }); // 获取.pro中的参数,如版本号 QApplication::applicationVersion(); // 获取程序执行路径 QCoreApplication::applicationDirPath(); // 计时器,可用来显示程序执行时长 QElapsedTimer timer; timer.start(); qDebug() << __LINE__ << " setProperty cost:" << timer.elapsed() << "ms"; timer.restart(); // Sqlite数据库检查连接可以用的SQL语句 SELECT name FROM main.sqlite_master WHERE type = 'table' OR type = 'view' // +-----------------+ // | 进程相关 | // +-----------------+ // 启动一个新进程(非阻塞) QString protectPath = QCoreApplication::applicationDirPath() + "/update.exe"; QProcess *pro = new QProcess; pro->startDetached(protectPath); // 带参数启动外部程序(非阻塞) QProcess *pPrecess = new QProcess(this); pPrecess->start("Updater.exe --appid 1624815314 --appsecret U2NSXda2 --processname monitoring.exe"); // +-----------------+ // | 文件相关 | // +-----------------+ // 用QTextStream文件流的方式来读写文件速度至少快百分之30 QFile file(":/propertyname.txt"); if (file.open(QFile::ReadOnly)) { #if 0 while(!file.atEnd()) { QString line = file.readLine(); appendName(line); } #else QTextStream in(&file); while (!in.atEnd()) { QString line = in.readLine(); appendName(line); } #endif file.close(); } // QLatin1String可解决readAll编码问题 QLatin1String(file.readAll()); // 引用QSS,widget单独设置qss不支持这样加载文件,需要手动读取qss文件内容 qApp->setStyleSheet("file:///:/qss/psblack.css"); ``` #### 三、习惯 1. 对于大段的注释代码,建议用 #if 0 #endif 将代码块包含起来
上一篇:
Qt内置ICON
下一篇:
Qt将程序放进托盘
1人点赞
登录后评论
友情链接
doywb
2018-2025 Copyright© 米灵尔 浮叶蓝空
豫ICP备15007436号-1
豫公网安备 41152302000146号