QT 打印当前线程
需求 qt 打印当前线程进程 解决 当前线程指针: QThread::currentThread() 当前线程: QThread::currentThreadId() 当前进程: QCoreApplication::applicationPid() 参考 QT打印当前线程地址 【Qt线程-6】获取当前线程id,thread()和currentThreadId(),不是想当然那样,不使用信号槽可能看不出区别
需求 qt 打印当前线程进程 解决 当前线程指针: QThread::currentThread() 当前线程: QThread::currentThreadId() 当前进程: QCoreApplication::applicationPid() 参考 QT打印当前线程地址 【Qt线程-6】获取当前线程id,thread()和currentThreadId(),不是想当然那样,不使用信号槽可能看不出区别
需求 mysql 存储过程做分页操作 解决 参考: SQL存储过程实现数据分页功能 mysql中用存储过程做分页操作 SQL Server存储过程之通用数据分页 SQL Server存储过程学习(通俗易懂) MySQL分页查询的5种方法 参考
需求 qt 默认情况下,控件之间的间隙比较大,不好看,需要减少间隙 解决 这个其实很简单,直接调用 api 即可。 layout_->setContentsMargins(0,0,0,0); layout_->setSpacing(0); 参考 【QT】Layout布局间消除间隙(修改layout内置参数) QT 布局管理器设置控件固定大小,控件间隔 QT布局管理器不同部分比例大小设置方法
需求 qt 自定义分页控件 解决 具体参考: QT 自定义分页控件 第十四课:采用 Qt 开发翻页/分页/多页窗体组件 参考 QT 自定义分页控件 第十四课:采用 Qt 开发翻页/分页/多页窗体组件
需求 java 中 枚举中使用字符串 解决 public class HelloWorld { public static void main(String []args) { System.out.println("Hello World!"); System.out.println(Season.SPRING.toString()); System.out.println(Season.SPRING.value()); } } enum Season { SPRING("spring"), SUMMER("summer"), AUTUMN("autumn"), WINTER("winter"); public final String value; private Season(String value) { this.value = value; } public String value() { return this.value; } } 参考 Java灵活使用枚举表示一组字符串 在Java 使用字符串添加枚举
需求 qt 如何设置 QString 中数值的小数位数 解决 位数,进制,补位 QString QString::arg(uint a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( ' ' )) const int num = 3; QString str = QString("%1") .arg(num, 4, 10, QChar('0')); // str == "0003" qDebug() << str; 小数位数 QString QString::number(double n, char format = 'g', int precision = 6) QString str = QString::number(32, 'f', 2); // str == "32.00" qDebug() << str; 参考 Qt QString中arg的使用,以及保留小数位数 QString设置小数点精度位数 Qt string 保留小数点后固定位数
需求 mysql 如何新建 解决 参考: mysql:mysql workbench 新建数据库、建表、添加表值及查询 MySQL Workbench 操作详解(史上最细) MySQL workbench8.0 CE基本用法(创建数据库、创建表、创建用户、设置用户权限、创建SQL语句脚本) 使用MySQL Workbench建立数据库,建立新的表,向表中添加数据 用MySQL Workbench创建外键及多表查询 用MySQL Workbench为一对多,多对多的关系创建外键关联 MySQL Workbench添加外键(物理模型),Database到EER MySQL中的约束:非空约束、主键约束、自动增长、唯一约束、外键约束 MySQL 外键的级联操作 mysql workbench 从model建库_MySQL WorkBench设计数据库的操作过程 如何利用MySQL Workbench创建Model EER 图 MySQL Workbench构建ER图(实体关系图) 【数据库】彻底理解外键的作用 参考
需求 qt 如何把 log 输出到文件 解决 log 输出功能 log_qt.h #ifndef LOG_QT_H #define LOG_QT_H #include <QString> void LogOutputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg); #endif // LOG_QT_H log_qt.cpp #include "log/log_qt.h" #include <QString> #include <QMutex> #include <QDateTime> #include <QFile> void LogOutputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg) { // 加锁 static QMutex mutex; mutex.lock(); QString tag; switch(type) { case QtDebugMsg: tag = QString("Debug:"); break; case QtWarningMsg: tag = QString("Warning:"); break; case QtCriticalMsg: tag = QString("Critical:"); break; case QtFatalMsg: tag = QString("Fatal:"); break; default:break; } // 设置输出信息格式 // QString context_info = QString("File:(%1) Line:(%2)")....
需求 cpp 了解 find 相关函数 解决 find 的语法格式 InputIterator find (InputIterator first, InputIterator last, const T& val); //find() 函数作用于普通数组 char stl[] ="http://c.biancheng.net/stl/"; //调用 find() 查找第一个字符 'c' char * p = find(stl, stl + strlen(stl), 'c'); //判断是否查找成功 if (p != stl + strlen(stl)) { cout << p << endl; } //find() 函数作用于容器 std::vector<int> myvector{ 10,20,30,40,50 }; std::vector<int>::iterator it; it = find(myvector.begin(), myvector.end(), 30); if (it != myvector.end()) cout << "查找成功:" << *it; else cout << "查找失败"; find_if 可以指定查找规则。语法: InputIterator find_if (InputIterator first, InputIterator last, UnaryPredicate pred); //自定义一元谓词函数 bool mycomp(int i) { return ((i % 2) == 1); } //以函数对象的形式定义一个 find_if() 函数的查找规则 class mycomp2 { public: bool operator()(const int& i) { return ((i % 2) == 1); } }; int main() { vector<int> myvector{ 4,2,3,1,5 }; //调用 find_if() 函数,并以 IsOdd() 一元谓词函数作为查找规则 vector<int>::iterator it = find_if(myvector....
需求 cpp 需要对 array 中的对象进行排列,使用 sort 的情况下,默认需要重载 <, 才能实现相关功能。 解决 选择的是,在结构体内部进行重载。 struct PatientDataHead { // increment id int32_t id; bool operator <(const PatientDataHead& head) const {return id < head.id;} }; std::array<PatientDataHead, kPatientNum> patient_data_heads_ {}; std::sort(patient_data_heads_.begin(), patient_data_heads_.end()); 参考 C++中自定义比较函数和重载运算符总结