<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > QT實(shí)現不規則窗體

QT實(shí)現不規則窗體

作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò ) 收藏

看到網(wǎng)上有很多的實(shí)現,效果很酷.于是使用也實(shí)現了一個(gè),實(shí)現非常簡(jiǎn)單,只需要設置一個(gè)mask(遮掩)圖片,這個(gè)圖片的格式可以使用png或bmp格式,我使用了png格式,默認窗體是矩形的,使用png圖像,將需要隔離在窗體之外的區域的像素設置為白色或透明色,其他顏色的區域對應顯示出來(lái)的窗體.關(guān)鍵代碼就幾行.

本文引用地址:http://dyxdggzs.com/article/201610/305993.htm

#ifndef IRREGULARFORM_H

#define IRREGULARFORM_H

#include

#include ui_irregularform.h

#include

#include

#include

#include

class IrregularForm : public QWidget

{

Q_OBJECT

public:

IrregularForm(QWidget *parent = 0);

~IrregularForm();

protected:

void mouseMoveEvent(QMouseEvent *event);

void mousePressEvent(QMouseEvent *event);

void mouseReleaseEvent(QMouseEvent *event);

private:

Ui::IrregularFormClass ui;

QPoint mouseMovePos;

};

#endif // IRREGULARFORM_H

#include irregularform.h

IrregularForm::IrregularForm(QWidget *parent)

: QWidget(parent)

{

setWindowFlags(Qt::FramelessWindowHint);

QPixmap mask(:/IrregularForm/Resources/mask.png);//加載掩碼圖像

setMask(QBitmap(mask.mask())); //設置窗體的掩碼圖像,摳除圖像的白色區域實(shí)現

QPalette p;//設置調色板

p.setBrush(QPalette::Window, QBrush(mask));//將調色板的畫(huà)刷設置為掩碼位圖,在不規則窗體上顯示出掩碼位圖

setPalette(p);

mouseMovePos = QPoint(0, 0);

}

IrregularForm::~IrregularForm()

{

}

void IrregularForm::mouseMoveEvent(QMouseEvent *event)//鼠標按下并移動(dòng)則移動(dòng)不規則窗體

{

if(mouseMovePos != QPoint(0, 0))

{

move(geometry().x() + event->globalPos().x() - mouseMovePos.x(), geometry().y() + event->globalPos().y() - mouseMovePos.y());

mouseMovePos = event->globalPos();

}

}

void IrregularForm::mousePressEvent(QMouseEvent *event)

{

mouseMovePos = event->globalPos();

}

void IrregularForm::mouseReleaseEvent(QMouseEvent *event)

{

mouseMovePos = QPoint(0, 0);

}

效果圖



關(guān)鍵詞: QT 不規則窗體

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>