[QT] 记录一些使用技巧
概述
最近花了好几天的时间编写了一个专利文件检索的程序,通过Qt完成了PC端程序,因为以前写过Qt,所以这次可以说是极为顺利了,不过忘记了很多东西,所以需要记录
也希望能帮助到广大网友,会继续更新的
打开窗口
- 不关闭原来的
Setting* set = new Setting();
set->show();
参考 https://blog.csdn.net/qq_38446366/article/details/79700556
弹出消息框
下面代码会乱码 需要删除
fromLocal8Bit
QMessageBox::information(this, QString::fromLocal8Bit("警告"),QString::fromLocal8Bit("有种你再点击一次"));
判断文件存在
https://blog.csdn.net/aqtata/article/details/18016467
QFileInfo fi("C:/123"); // 目录存在
qDebug() << fi.isFile(); // false
qDebug() << QFile::exists("C:/123"); // true
获取时间
QDateTime current_date_time =QDateTime::currentDateTime();
QString current_date =current_date_time.toString("yyyy.MM.dd hh:mm:ss.zzz ddd");
参考:https://blog.csdn.net/lusirking/article/details/51460716
获取子控件
QList<QCheckBox *> allCheckBox = ui->frame->findChildren<QCheckBox *>();
for(int i = 0;i<allCheckBox.size();i++)
{
if(allCheckBox.at(i)->isChecked())
{
labels.append(allCheckBox.at(i)->objectName().toInt());
}
}
TableWidget设置不可编辑
setEditTriggers(QAbstractItemView::NoEditTriggers);
QT QString判断纯数字
bool isDigital=QString("12345678").contains(QRegExp("^\\d+$"));//true
bool isDigital=QString("12345678 ").contains(QRegExp("^\\d+$"));//false
bool isDigital=QString("123.45678").contains(QRegExp("^\\d+$"));//false
原文链接:https://blog.csdn.net/fjal256/article/details/102796047
Qt 保存文件选择器
QString file_path = QFileDialog::getSaveFileName(this,"保存位置","www.pdf","*.pdf");
参考: https://www.cnblogs.com/tony-li/p/4095990.html
读写ini
#include <QSettings>
void MainWindow::on_pushButton_6_clicked()
{
//Qt中使用QSettings类读写ini文件
//写文件
//构造函数第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省
QSettings configIniWrite("d:\\1.ini", QSettings::IniFormat);
//向ini文件中写入内容,setValue函数的两个参数是键值对
//向ini文件的第一个节写入内容,para1节下的第一个参数
configIniWrite.setValue("/para1/first", "1111111");
//向ini文件的第一个节写入内容,para1节下的第二个参数
configIniWrite.setValue("para1/second", 2222);
//向ini文件的第二个节写入内容,para2节下的第一个参数
configIniWrite.setValue("para2/third", "3333333");
//读文件
QSettings configIniRead("d:\\1.ini", QSettings::IniFormat);
//将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型
QString first = configIniRead.value("/para1/first").toString();
int second = configIniRead.value("/para1/second").toInt();
QString third = configIniRead.value("/para2/third").toString();
//打印得到的结果
qDebug() << first;
qDebug() << second;
qDebug() << third;
}
[QT] 记录一些使用技巧的更多相关文章
- 转载:Qt之界面实现技巧
总结一下,在开发Qt的过程中的一些技巧!可遇而不可求... 一.主界面 1.窗口 最小化 最大化 关闭按钮.显示状态自定义 setWindowFlags(Qt::CustomizeWindowHint ...
- Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式
转自 --> http://blog.sina.com.cn/s/blog_a6fb6cc90101dech.html 总结一下,在开发Qt的过程中的一些技巧!可遇而不可求... 一.主界面 1 ...
- Qt之界面实现技巧
一.主界面 1.窗口 最小化 最小化 关闭按钮 显示状态自定义 setWindowFlags(Qt::CustomireWindowHint); setWindowFlags(Qt::WindowCl ...
- QT | 记录自己遇到的报错
QT 常见报错,及相应对策 0. 遇到所有莫名其妙的问题(完全按照教程,但一直报错) 删除工程文件同级目录下的构建文件(以build开头的文件夹) 重新执行qmake 重新构建项目 检查所有的路径问题 ...
- QT窗体的小技巧
1.界面透明 setWindowOpacity(0.8);//构造函数中加此句,1为不透明,0为完全透明,0.8为80%不透明. 2.设置背景图片 QPixmap pixmap = QPixmap(& ...
- QT 字符串的使用技巧总结
QT 的字符串的 使用的总结. 1.字符串截取函数的使用 QString str; QString csv = "forename,middlename,surname,phone" ...
- Qt开发之Hello Qt及学习小技巧
创建第一个Qt程序的简单流程 如果安装了andriod或ios的版本也会显示出来,这里只显示了桌面端的 一个项目文件代码结构如下: 如下图可直接编辑label里的文字内容: 运行结果:(快捷键ctrl ...
- Qt编程的一些技巧
1.Qt程序在运行过程中,调用函数(如lcdNumber->display(num))显示数据到界面上时,并不会马上刷新屏幕显示,而是要等主程序运行到函数a.exec()时,才刷新屏幕,如下 因 ...
- Qt的各种使用技巧
一.基本界面介绍 二.查看帮助的方法 ① 如上图所示,点击右侧帮助菜单查看帮助 ② 双击想要查看的代码,点F1,也会弹出帮助栏 三.修改文本编辑器颜色 长时间使用白底黑字的编辑器经常会使眼睛不舒服,以 ...
- Qt的一些开发技巧
Lambda匿名函数 有时候槽函数代码辑逻辑非常简单,可以直接用下面的Lambda匿名函数处理信号,简捷明了.需c++11支持,不支持自身递归调用. 1 2 3 4 5 6 7 QComboBox * ...
随机推荐
- 【图论,网络流】CF1525F Goblins And Gnomes
Problem Link 你在打怪.你有一个 \(n\) 个点 \(m\) 条边的 DAG,接下来会有 \(k\) 波怪来袭,第 \(i\) 波怪有 \(i\) 个,它们会各自选择走一条路径,要求它们 ...
- Ant Design Vue中Table对齐方式显示省略号
Ant Design Vue中Table对齐方式显示省略号 <template> <!-- bordered 表示表格中的边框 pagination="false" ...
- 手写Promise自定义封装 then 函数
Promise 自定义封装 then 函数 <script src="./Promise.js"></script> <script type=&qu ...
- Vue基础系统文章07---webpack安装和配置与打包
1.当前web开发困境 a.文件依赖关系错综复杂 b.静态资源请求效率低 c.模块化支持不友好 d.浏览器对高级js兼容性低 例如:模块代码实现隔行换色 1)在新建空白文件夹中运行:npm init ...
- Docker系列教程01--简介
Docker 入门教程 作者: 阮一峰 日期: 2018年2月 9日 2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚 Docker 到底是什么, ...
- ROS节点通信(三)action
官方wiki:http://wiki.ros.org/actionlib 目录 1.说明 2.代码示例 2.1.定义数据结构 2.1.1.goal 2.1.4.result 2.1.3.feedbac ...
- 使用CAShapeLayer,UIBezierPath,CAGradientLayer构建边框颜色会旋转的六边形
主要思路是: 1.使用UIBezierPath绘制一个六边形路径 2.创建一个CAShapeLayer图层,将这个六边形path设置到CAShapeLayer属性上.然后设置fillColor为透明, ...
- elasticsearch源码debug
一.下载源代码 直接用idea下载代码https://github.com/elastic/elasticsearch.git 切换到特定版本的分支:比如7.17,之后idea会自己加上Run/Deb ...
- 内存泄漏定位工具之 mtrace(一)
1 前言 mtrace(memory trace),是 GNU Glibc 自带的内存问题检测工具,它可以用来协助定位内存泄露问题.它的实现源码在glibc源码的malloc目录下,其基本设计原理为设 ...
- 程序语言多态(overide) - delphi 版本
程序语言多态 - delphi 版本 前言: 所有程序语言都差不多,特写一篇 delphi 版本 的多态:其它语言 类同. 都是一些别人规定的语法而已,别人用一个下午设计一门语言,愚弄天下程序员一生: ...