QT学习(二)部分总结
来源:互联网 发布:javascript charat 编辑:程序博客网 时间:2024/05/26 07:28
一. QT的label和opencv可以打开并显示摄像头视频
http://blog.csdn.net/llh318724/article/details/7007661
二.在一个ui界面调用另一个ui界面可以直接创建另一个ui的类对象,然后调用show()函数或者exec()函数即可,相互间消息的传递可以用文件读写的方式。
三.x为浮点数,用fabs(x-0)<1e-5而不是x==0.。
四.QString与string之间的转换
QString qstr;
string str;
str = qstr.toStdString();
qstr = QString::fromStdString(str);
五. “qDebug ()<<”可以输出一些信息到控制台
QMessageBox::warning(this, “Error select!”, “Please choose a TextFile!”);可以弹窗警告。
六.currentIndex()获取当前下标很好用,大量控件都可以用其currentIndex()获得有用的信号。
七.文件的操作QFile + QTextStream
将test.txt里的内容一行一行放到QVector里面;
QFile fPath("test.txt"); //这里要注意打开方式,ReadOnly,根据需求设置。if (!fPath.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug() << "Open file failed.zzzzzzz";}QTextStream f(&fPath);QString string_temp;while(!f.atEnd()){ string_temp = f.readLine(); qvector_temp.push_back(string_temp); }
八.QT可以方便的获取当前系统时间
QDateTime time = QDateTime::currentDateTime(); QString str = time.toString(" yyyy-MM-dd hh:mm:ss ddd ");
九.使用listView
[注]可以用append一行一行加些字符串到上面,自动换行。
QStringList* sl = new QStringList(); QStringListModel* slm = new QStringListModel(this);sl->append("1231231");sl->append("asdfasd"));sl->append(" ");slm->setStringList(*sl);ui->listView->setModel(slm);
10.利用QDir创建目录
QDir *temp2 = new QDir; bool exist = temp2->exists("./photo"); //如果当前路径下photo目录不存在则创建。 if(!exist) { temp2->mkdir("./photo"); }
11.opencv里Mat类型和QT里QImage之间的转换
QImage cvMat2QImage(const cv::Mat& mat){ // 8-bits unsigned, NO. OF CHANNELS = 1 if(mat.type() == CV_8UC1) { QImage image(mat.cols, mat.rows, QImage::Format_Indexed8); // Set the color table (used to translate colour indexes to qRgb values) image.setColorCount(256); for(int i = 0; i < 256; i++) { image.setColor(i, qRgb(i, i, i)); } // Copy input Mat uchar *pSrc = mat.data; for(int row = 0; row < mat.rows; row ++) { uchar *pDest = image.scanLine(row); memcpy(pDest, pSrc, mat.cols); pSrc += mat.step; } return image; } // 8-bits unsigned, NO. OF CHANNELS = 3 else if(mat.type() == CV_8UC3) { // Copy input Mat const uchar *pSrc = (const uchar*)mat.data; // Create QImage with same dimensions as input Mat QImage image(pSrc, mat.cols, mat.rows, mat.step, QImage::Format_RGB888); return image.rgbSwapped(); } else if(mat.type() == CV_8UC4) { qDebug() << "CV_8UC4"; // Copy input Mat const uchar *pSrc = (const uchar*)mat.data; // Create QImage with same dimensions as input Mat QImage image(pSrc, mat.cols, mat.rows, mat.step, QImage::Format_ARGB32); return image.copy(); } else { qDebug() << "ERROR: Mat could not be converted to QImage."; return QImage(); }}
12.QT类型转换九种。
http://www.cnblogs.com/findumars/p/5599438.html
- QT学习(二)部分总结
- Qt对话框部分学习
- 学习设计模式笔记(二)部分总结
- Android Binder机制学习总结(二)-Driver部分
- IOS学习总结分析之二:10.13-10.31第一部分
- JavaScript学习总结(二)数组和对象部分
- JavaScript学习总结(二)数组和对象部分
- Qt学习小结(部分)
- 汇编程序学习部分总结
- Qt Lighthouse学习(二)
- QT学习(二)
- Qt 插件学习(二)
- Qt Lighthouse学习(二)
- QT学习二:工具栏
- Qt学习笔记(二)
- Qt学习小记(二)
- Qt学习笔记二
- Qt 学习总结
- 2017算法课.10(Find All Numbers Disappeared in an Array)
- 设计学校官网框架
- 关于联表的处理
- 史上最简单的 MySQL 教程(四)「SQL 基本操作 之 库操作」
- 144.看门狗的bug
- QT学习(二)部分总结
- 人工智能
- 东软集团业务的波特五力模型分析
- POJ 3253 Fence Repair(贪心+优先队列)
- Redis之简单动态字符串
- tensorflow保存变量出现错误(提示不能save)
- GDOI第四轮模拟总结
- Java 带有构造方法重载的类定义
- Scala入门到精通——第四节 Set、Map、Tuple、队列操作实战