Qt5.8 异形窗口
2017-06-14 10:10
239 查看
#ifndef QT_SHAPEDWINDOW_H #define QT_SHAPEDWINDOW_H #include <QPainter> #include <QtWidgets/QMainWindow> #pragma execution_character_set("utf-8") class Qt_Shapedwindow : public QMainWindow { Q_OBJECT public: Qt_Shapedwindow(QWidget *parent = 0); ~Qt_Shapedwindow(); private: void paintEvent(QPaintEvent *); }; #endif // QT_SHAPEDWINDOW_H
#include "qt_shapedwindow.h"
#include <QtWidgets/QPushButton>
Qt_Shapedwindow::Qt_Shapedwindow(QWidget *parent)
: QMainWindow(parent)
{
this->setWindowOpacity(1); //窗口整体透明度,0-1 从全透明到不透明
this->setWindowFlags(Qt::FramelessWindowHint); //设置无边框风格
this->setAttribute(Qt::WA_TranslucentBackground); //设置背景透明,允许鼠标穿透
resize(1000, 666);
QPixmap pixmap;
pixmap.load("f:\\nn\\按钮1.png");
int nWidth = pixmap.width() * 2;
int nHeight = pixmap.height() * 2;
QPushButton * pBtn = new QPushButton(pixmap, "", this);
pBtn->resize(pixmap.width(), pixmap.height());
pBtn->move(1000 - pixmap.width(), 0);
connect(pBtn, SIGNAL(clicked()), this, SLOT(close()));
}
Qt_Shapedwindow::~Qt_Shapedwindow()
{
}
void Qt_Shapedwindow::paintEvent(QPaintEvent *)
{
QPainter p(this);
QPixmap pix;
pix.load("f:\\nn\\123.png");
p.drawPixmap(0, 0, pix);
}
调用:
#include "qt_shapedwindow.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Qt_Shapedwindow w;
w.show();
return a.exec();
}
运行结果:
相关文章推荐
- QT透明和半透明窗口实现,QT异形窗口实现
- Qt5.8 主窗口的构成
- QT5.8使用opencv打开图像窗口大小根据图像自适应调节
- QT中异形窗口的绘制
- qt实现异形窗口
- Qt中不规则异形窗口的实现几点总结
- QT中异形窗口的绘制(winEvent处理WM_NCHITTEST消息)
- Qt开发:无边框异形窗口,透明背景,可移动
- Qt程序 与 CMD窗口弹出的控制
- QT——设置窗口的固定大小、QProcess、定时器事件、QString::arg、系统时间、QPixmap 和 QImage 区别
- 异形窗口小火箭代码
- 用VC++实现异形窗口.
- qt最小化窗口后实现与点击任务栏一样的恢复任务
- Qt自定义窗口部件
- 如何使用SetWindowRgn函数创建异形窗口 选择自 ghj1976 的 Blog
- Qt浮动窗口
- Qt中父窗口与子窗口之间的关系
- Qt5.8 QDialog设置最小化跟关闭按钮
- unbuntu14.04 qt5.8 终端无显示问题
- QT_PC学习_GUI程序设计入门_主窗口