qt4.8.4 QWidget se déplace avec la souris et définit l'arrière-plan

#ifndef SETTINGWGT_H
#define SETTINGWGT_H

#include <QWidget>
#include "ui_settingwgt.h"
#include <QPainter>
#include <QMouseEvent>

class SettingWgt : public QWidget
{ Signaux
Q_OBJECT : void SendClose(); slots privés : void sltOn_Enter(); void sltOn_Close(); public : SettingWgt(QWidget *parent = 0); ~SettingWgt(); protégé : void paintEvent(QPaintEvent *event); void mousePressEvent(QMouseEvent*); void mouseReleaseEvent(QMouseEvent*); void mouseMoveEvent(QMouseEvent*); privé : Ui ::SettingWgt ui ; QPixmap * m_pQPixmapBg ; QPoint move_point ; bool mouse_press ; } ;


















#endif // SETTINGWGT_H
#include "settingwgt.h"
这里写代码片
SettingWgt::SettingWgt(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
    setWindowFlags(/*Qt::WindowStaysOnTopHint |*/ Qt::FramelessWindowHint |  Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint | Qt::Dialog);
    m_pQPixmapBg = new QPixmap("Resources/widbox");
    mouse_press = false;
    connect(ui.pushButton_close, SIGNAL(clicked()), this, SLOT(void sltOn_Close()));
    connect(ui.pushButton_enter, SIGNAL(clicked()), this, SLOT(sltOn_Enter()));

}

SettingWgt::~SettingWgt()
{

}
void SettingWgt::sltOn_Close()
{
    close();
    emit SendClose();
}
void SettingWgt::sltOn_Enter()
{
    close();
    emit SendClose();
}
void SettingWgt::paintEvent(QPaintEvent *event) {

    QPainter painter(this);
    painter.drawPixmap(m_pQPixmapBg->rect(), *m_pQPixmapBg);
}

void SettingWgt::mousePressEvent(QMouseEvent * pQMouseEvent )
{
    switch(pQMouseEvent->button()) {
    case Qt::LeftButton:
        mouse_press = true;
        break;

    default:
        break;
    }

    move_point = pQMouseEvent->globalPos() - pos();
}
void SettingWgt::mouseReleaseEvent(QMouseEvent* pQMouseEvent)
{
    mouse_press = false;
}
void SettingWgt::mouseMoveEvent(QMouseEvent* pQMouseEvent)
{
    if(mouse_press) {
        QPoint move_pos = pQMouseEvent->globalPos();
        move(move_pos - move_point);
    }
}

Je suppose que tu aimes

Origine blog.csdn.net/u012842273/article/details/53940120
conseillé
Classement