背景图片、按钮图片的添加

Dialog.h:

 

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include<QMouseEvent>
#include <QPainter>


namespace Ui {
    class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
    QPoint dragPosition;

private:
    Ui::Dialog *ui;
    void paintEvent(QPaintEvent *);
    void mousePressEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
};

#endif // DIALOG_H

Dialog.cpp:

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    //setAttribute(Qt::WA_TranslucentBackground, true);


    ui->dianji->setIcon(QIcon(":/2.png"));
    ui->dianji->setFlat(true);
    ui->dianji->setIconSize(QSize(50,30));

    ui->zuixiaohua->setIcon(QIcon(":/3.png"));
    ui->zuixiaohua->setFlat(true);
    ui->zuixiaohua->setIconSize(QSize(50,30));

    ui->guanbi->setIcon(QIcon(":/4.png"));
    ui->guanbi->setFlat(true);
    ui->guanbi->setIconSize(QSize(50,30));

    ui->guanbi->setFocusPolicy(Qt::NoFocus);
    connect(ui->guanbi,SIGNAL(clicked()),this,SLOT(reject()));
    ui->guanbi->setStyleSheet(":hover {background: red; color: red; border: 1 solid red;}");

    ui->zuixiaohua->setFocusPolicy(Qt::NoFocus);
    ui->zuixiaohua->setStyleSheet(":hover {background: red; color: red; border: 1 solid red;}");

 

    this->setWindowFlags(Qt::FramelessWindowHint);
}

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

void Dialog::paintEvent(QPaintEvent *)
{

//    QPainter p(this);
//    p.setCompositionMode( QPainter::CompositionMode_Clear );
//    p.fillRect( 10, 10, 300, 300, Qt::SolidPattern );

   QPalette palette;
   palette.setBrush(this->backgroundRole(), QBrush(QPixmap(":/1.png")));  //括号内为图片的相对目录
   this->setPalette(palette);

 


}

void Dialog::mousePressEvent(QMouseEvent *event) {
    if (event->button() == Qt::LeftButton) {
        dragPosition = event->globalPos() - frameGeometry().topLeft();
        event->accept();
    }
}
void Dialog::mouseMoveEvent(QMouseEvent *event) {
    if (event->buttons() & Qt::LeftButton) {
        move(event->globalPos() - dragPosition);
        event->accept();
    }
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值