您的位置:首页 > 其它

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

2012-02-26 19:06 183 查看
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();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: