概述

最近花了好几天的时间编写了一个专利文件检索的程序,通过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] 记录一些使用技巧的更多相关文章

  1. 转载:Qt之界面实现技巧

    总结一下,在开发Qt的过程中的一些技巧!可遇而不可求... 一.主界面 1.窗口 最小化 最大化 关闭按钮.显示状态自定义 setWindowFlags(Qt::CustomizeWindowHint ...

  2. Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式

    转自 --> http://blog.sina.com.cn/s/blog_a6fb6cc90101dech.html 总结一下,在开发Qt的过程中的一些技巧!可遇而不可求... 一.主界面 1 ...

  3. Qt之界面实现技巧

    一.主界面 1.窗口 最小化 最小化 关闭按钮 显示状态自定义 setWindowFlags(Qt::CustomireWindowHint); setWindowFlags(Qt::WindowCl ...

  4. QT | 记录自己遇到的报错

    QT 常见报错,及相应对策 0. 遇到所有莫名其妙的问题(完全按照教程,但一直报错) 删除工程文件同级目录下的构建文件(以build开头的文件夹) 重新执行qmake 重新构建项目 检查所有的路径问题 ...

  5. QT窗体的小技巧

    1.界面透明 setWindowOpacity(0.8);//构造函数中加此句,1为不透明,0为完全透明,0.8为80%不透明. 2.设置背景图片 QPixmap pixmap = QPixmap(& ...

  6. QT 字符串的使用技巧总结

    QT 的字符串的 使用的总结. 1.字符串截取函数的使用 QString str; QString csv = "forename,middlename,surname,phone" ...

  7. Qt开发之Hello Qt及学习小技巧

    创建第一个Qt程序的简单流程 如果安装了andriod或ios的版本也会显示出来,这里只显示了桌面端的 一个项目文件代码结构如下: 如下图可直接编辑label里的文字内容: 运行结果:(快捷键ctrl ...

  8. Qt编程的一些技巧

    1.Qt程序在运行过程中,调用函数(如lcdNumber->display(num))显示数据到界面上时,并不会马上刷新屏幕显示,而是要等主程序运行到函数a.exec()时,才刷新屏幕,如下 因 ...

  9. Qt的各种使用技巧

    一.基本界面介绍 二.查看帮助的方法 ① 如上图所示,点击右侧帮助菜单查看帮助 ② 双击想要查看的代码,点F1,也会弹出帮助栏 三.修改文本编辑器颜色 长时间使用白底黑字的编辑器经常会使眼睛不舒服,以 ...

  10. Qt的一些开发技巧

    Lambda匿名函数 有时候槽函数代码辑逻辑非常简单,可以直接用下面的Lambda匿名函数处理信号,简捷明了.需c++11支持,不支持自身递归调用. 1 2 3 4 5 6 7 QComboBox * ...

随机推荐

  1. 你不知道的Linux shell操作

    Linux Shell 脚本入门教程 Linux Shell 脚本是一种强大的工具,它允许您自动化日常任务和复杂操作.在本教程中,我们将逐步介绍几个实用的 Shell 脚本示例.每个示例都将详细说明, ...

  2. vue中render函数使用attrs绑定id、class、style、事件(5)

    1.h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. ...

  3. 安装Visual Studio的详细流程

      本文介绍Visual Studio 2022软件Community(社区版)的下载.安装.运行与使用方法.   首先需要提一句,本文介绍的是Visual Studio 2022软件的下载:而其它版 ...

  4. 强化学习从基础到进阶-常见问题和面试必知必答[4]::深度Q网络-DQN、double DQN、经验回放、rainbow、分布式DQN

    强化学习从基础到进阶-常见问题和面试必知必答[4]::深度Q网络-DQN.double DQN.经验回放.rainbow.分布式DQN 1.核心词汇 深度Q网络(deep Q-network,DQN) ...

  5. 人工智能创新挑战赛:海洋气象预测Baseline[4]完整版(TensorFlow、torch版本)含数据转化、模型构建、MLP、TCNN+RNN、LSTM模型训练以及预测

    人工智能创新挑战赛:海洋气象预测Baseline[4]完整版(TensorFlow.torch版本)含数据转化.模型构建.MLP.TCNN+RNN.LSTM模型训练以及预测 1.赛题简介 项目链接以及 ...

  6. MySQL 之基础命令(精简笔记)

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...

  7. C/C++ 类与构造析构等知识

    简单定义类 #include <iostream> #include <string> using namespace std; class Student { public: ...

  8. 跑通的第一个ethers.js程序HelloVitalik.js

    简介 ethers.js是一个本地库,可以让你调用接口,用官方写好的轮子来使用一些常用的函数!学习完这个库,你对node.js就有比较深入的了解了,如果你不做项目,就不涉及智能合约的编写,那么写点脚本 ...

  9. Spring Boot 参数校验注解(自整理,不停的测试更新)

    首先我们只使用java官方的 javax.validation.constraints ,足以使用了,不使用spring boot 自身的,自身的与官方的一致,可能会有扩展,但是还得引入包,麻烦,只用 ...

  10. 开源.NetCore通用工具库Xmtool使用连载 - 发送邮件篇

    [Github源码] <上一篇> 介绍了Xmtool工具库中的随机值类库,今天我们继续为大家介绍其中的邮件发送类库. 发送邮件是系统开发中经常需要的功能,广泛应用于消息通知.异常告警.内容 ...