在本节中将针对图像任意角度旋转事件处理介绍,先看一下效果图
现在说上面图像旋转是怎么实现的过程。
1.UI框拖动TextLabel控件,如图
定义objectName 为label_6图中可以看到
2.头文件中定义槽函数 void trans();
这里要加一些头文件
#include <QTimer> //时间头文件
private slots:
void trans();
3.在EVgui.cpp文件中编写槽函数
void EVgui::trans()
{
QPixmap pixmap("C:/car.jpg"); //打开一张图片pixmap
QMatrix matrix; //定义矩阵
matrix.rotate(90);//旋转角度
ui->label_6->setPixmap(pixmap.transformed(matrix,Qt::SmoothTransformation)); //把它显示在label_6控件上
}
4.定义连接机制,我在此次是用 QObject::connect();前面几个博客也可以看到,这是一个视频流的过程,这里只是取出其中一部分来讲
EVgui::EVgui(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::EVgui)
{
ui->setupUi(this);
clk.start(10); //定义的时间start(msec单触发定时器)这里用到的是视频流采集,所以需要摄像头。详情自己查看Qtimer的帮助文档,里面讲的很详细。当然自己看懂之后可以自行修改
QObject::connect(&clk, SIGNAL(timeout()), this, SLOT(trans()));
}
EVgui::~EVgui()
{
delete ui;
}
这里是重点,可以实现各种各样改变,就看自己的需要和想象力了。前面的东西也可以加上去
好了,就记录这个。代码按这个分布来编写是应该来运行的,自己试试
http://download.csdn.net/detail/wsljqian/9846102