Qt圆形透明图片(图像)不断旋转的效果怎么弄?

ooolinux 2018-05-31 08:38:04
我试了一下,效果不理想,主要是图片旋转以后包围的矩形大小变了,为了看效果,先用不透明图片:




主要源代码:
#include "dialog.h"
#include "ui_dialog.h"
#include <QTimer>

Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
pix=QPixmap("./res/e.jpg");
ui->label->setScaledContents(true);
ui->label->setPixmap(pix);
timer=new QTimer(this);
timer->setInterval(50);
connect(timer,SIGNAL(timeout()),this,SLOT(onTimer()));
angle=0;
}

Dialog::~Dialog()
{
delete ui;
}

void Dialog::on_pushButton_clicked()
{
if(timer->isActive())
timer->stop();
else
timer->start();
}

void Dialog::onTimer()
{
angle+=2;
angle%=360;
QMatrix matrix;
matrix.rotate(angle);
QPixmap rpix;
rpix=pix.transformed(matrix);
ui->label->setPixmap(rpix);
}
...全文
2606 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
待续_1006 2018-06-06
  • 打赏
  • 举报
回复
QT5.2以上的示例中有图片旋转的实例
ooolinux 2018-06-06
  • 打赏
  • 举报
回复
引用 5 楼 shiyanbo_1006 的回复:
QT5.2以上的示例中有图片旋转的实例
示例名字?
ooolinux 2018-06-01
  • 打赏
  • 举报
回复
引用 2 楼 YIZI_LinRL 的回复:
把lable边框去掉,不看矩形
图上的label边框和背景是为了对比显示。
_LinGM 2018-06-01
  • 打赏
  • 举报
回复
把lable边框去掉,不看矩形
ooolinux 2018-05-31
  • 打赏
  • 举报
回复
用了一个办法,根据变形后的图片,不断改变label的大小和位置(保持中心位置不变)。图片显示不缩放。

21,466

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧