ImageWatch,vs 2015, vs 2017调试的时候查看cv::Mat 图片插件
vs 2015, vs 2017调试的时候查看cv::Mat 图片插件。调试的时候,断点就可以看到mat 里面的图片了
qt 单例模式,模板
只需要引用 #include "Singleton.h", 然后就可以用。记得 DBManager(QObject *parent = 0); 设置parent默认参数0;
cv::mat 和 QImage 互转
cv::mat 和 QImage 互转
LogQtTest.zip
只需一个文件LogHelper.hpp, 使用也非常简单。包含LogHelper.hpp,然后注册一下就行了 qInstallMessageHandler(LogHelper::myMessageOutput);
具体可参考demo。
记得 在程序运行目录建立 log文件夹,不然无法生存log日志
NoBorderTest.zip
支持mainwindow, Dialog, widget。 只需要继承 MainWindowBase 自定义类就行了。需要关闭,最小化等按钮,在ui里面加 就行了。很简单
MemoryPool.zip
C++实现内存池,可在linux ,Windows上使用,只依靠C++库实现
qt下OpenGL做的3d扫雷
qt + OpenGL,做的3D扫雷,包括3D场景的旋转,鼠标位置计算,雷的计算等。
C++实现26进制
string band26(int index)
{
string str;
if(index == 0)
return "a";
while(index != 0)
{
int remainder = index % 26;
char c = singleBand26(remainder);
str = c + str;
index = index / 26;
}
return str;
}
qgrapthic画图例子
class FAVView : public QGraphicsView
{
Q_OBJECT
public:
FAVView(QWidget *parent = NULL);
~FAVView();
private slots:
};
class FAVScene : public QGraphicsScene
{
Q_OBJECT
public:
FAVScene(int wave_amplitude = 10, int wave_density = 5);
~FAVScene();
void setWaveAmplitude(int n) {mWaveAmplitude = n;};
void setWaveDensity(int n) {mWaveDensity = n;};
private slots:
void slotUpdate();
protected:
void drawBackground(QPainter *painter, const QRectF &rect);
void drawForeground(QPainter *painter, const QRectF &rect);
private:
void setBuf(void);
QPainterPath mPath;
int mWaveAmplitude; //波形振幅
int mWaveDensity; //波形的疏密程度,模拟频率高低
int *mBuf;
};
qt分析标准wav文件
char wavHeader[44]; //用来保存头部44字节
sfile.read(wavHeader, sizeof(wavHeader)); //将文件头44字节保存到wavHeader数组中
int width = *(ushort *)(wavHeader + 34); //将量化样本(本文件是16bit)数据赋值到width变量
int dataSize = sfile.size() - 44; //去除头部44字节后数据大小
int step = dataSize / maxSampleNum; //确定步长
if (dataSize % maxSampleNum) //如果没完全整除步长应该+1
{
step ++;
}
qt写入excel
qt写入excel 基本的操作,
QString fileName = QFileDialog::getSaveFileName(NULL,"Save File",".","Excel File (*.xls)");
fileName.replace("/","\\"); //这一步很重要,c:/123.xls保存失败,c:\123.xls保存成功!
QAxWidget _excel("Excel.Application");
_excel.setProperty("Visible",false);
QAxObject * _workbooks = _excel.querySubObject("WorkBooks");
_workbooks->dynamicCall("Add"); //添加一个新的工作薄
QAxObject * _workbook = _excel.querySubObject("ActiveWorkBook");
_workbook->dynamicCall("SaveAs (const QString&)",fileName); //保存
_workbook->dynamicCall("Close (Boolean)", false);
_excel.dynamicCall("Quit (void)");
qt自己做的按钮
qt自己重写的鼠标移动,单击,双击,释放事件
qt的进度条
自制的qt经度条
#ifndef PROGRESS_H
#define PROGRESS_H
#include<QProgressDialog>
class Progress:public QProgressDialog