QT异形图形的开发
来源:互联网 发布:赌博平台源码 编辑:程序博客网 时间:2024/06/10 09:30
- 这里的异形图形是指哪种
- 原图
- 处理后效果
- 原代码
- 部分说明
这里的异形图形是指哪种?
这里所谓的异形图形是指非正方形或矩形这种规则的图形。 因为,QT普通的一个Dialog或widget生成的一个窗口就是一个矩形或正方形,如果要显示不规则图形,该怎么处理呢?下面是一个简单的小实例。
原图
处理后效果
原代码
.h文件
#ifndef YIXINGDIALOG_H#define YIXINGDIALOG_H#include <QWidget>#include <QToolButton>class YiXingDialog : public QWidget{ Q_OBJECTpublic: explicit YiXingDialog(QWidget *parent = 0); void paintEvent(QPaintEvent* event);protected: virtual void mouseMoveEvent(QMouseEvent *);signals:public slots:private: QPixmap m_pixmap;};#endif // YIXINGDIALOG_H
.cpp 文件
#include "yixingdialog.h"#include <QBitmap>#include <QPalette>#include <QPaintEvent>#include <QDebug>#include <QtMath>YiXingDialog::YiXingDialog(QWidget *parent) : QWidget(parent, Qt::FramelessWindowHint){ this->setWindowOpacity(0.9); // 这里设置整体的透明度。 m_pixmap.load(":/images/background.png"); m_pixmap = m_pixmap.scaled(size()); setAutoFillBackground(true); setMask(m_pixmap.mask()); //这里设置遮罩层,如果不设置原图透明部份为黑色。}void YiXingDialog::paintEvent(QPaintEvent *event){ QPalette bgPalette = this->palette(); bgPalette.setBrush(QPalette::Background, m_pixmap); this->setPalette(bgPalette); //画图操作}void YiXingDialog::mouseMoveEvent(QMouseEvent *event){ int moveX = cursor().pos().x(); int moveY = cursor().pos().y(); move(moveX, moveY); //这里监控鼠标的移动过程。如果拖动图片时,图片进行移动。}
main 文件
#include <QApplication>#include "yixingdialog.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); YiXingDialog yixing; yixing.show(); return a.exec();}
部分说明
那张效果图是可以拖动的,后面的背景是因为在桌面上。如果不在桌面可以看到是透明的。
0 0
- QT异形图形的开发
- Qt异形按钮的创建
- QT中异形窗口的绘制
- Qt开发:无边框异形窗口,透明背景,可移动
- Qt 嵌入式图形开发
- QT图形开发
- qt实现异形窗口
- qt 创建异形窗体
- Qt异形窗口
- Qt中不规则异形窗口的实现几点总结
- Qt中不规则异形窗口的实现几点总结
- Qt Quick<OpacityMask> 圆角图片、异形图片的合成
- Qt/Embedded图形化开发
- Qt/Embedded图形化开发
- Qt的二维图形
- 异形窗体的实现
- 异形数组的生成
- 异形窗体的实现
- 代码检查工具系列——FindBugs
- java开发_jcrop_网页截图工具(插件)
- 索引与优化like查询
- android LayoutInflater原理分析
- 花朵数_蓝桥杯题目
- QT异形图形的开发
- 20160218.CCPP体系详解(0028天)
- 在Android Studio中如何添加GSON 并使用GsonFormat快速实现实体类
- 欢迎使用CSDN-markdown编辑器
- java开发_eclipse导出为war文件,热部署到tomcat运行总结
- MFC-俄罗斯方块
- 愚人并查集
- app程序的执行顺序
- Object: 多个属性的集合