132 lines
3.6 KiB
C++
132 lines
3.6 KiB
C++
|
#include "frmImageLayout.h"
|
|||
|
#include <QFileDialog>
|
|||
|
#include <QMessageBox>
|
|||
|
#include <QGraphicsPixmapItem>
|
|||
|
#include <QDesktopWidget>
|
|||
|
#include <QPainter>
|
|||
|
#include "datavar.h"
|
|||
|
|
|||
|
frmImageLayout::frmImageLayout(QWidget* parent)
|
|||
|
: QDialog(parent)
|
|||
|
{
|
|||
|
ui.setupUi(this);
|
|||
|
//FramelessWindowHint属性设置窗口去除边框
|
|||
|
//WindowMinimizeButtonHint 属性设置在窗口最小化时,点击任务栏窗口可以显示出原窗口
|
|||
|
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);
|
|||
|
//设置窗体在屏幕中间位置
|
|||
|
QDesktopWidget* desktop = QApplication::desktop();
|
|||
|
move((desktop->width() - this->width()) / 2, (desktop->height() - this->height()) / 2);
|
|||
|
//设置窗口背景透明
|
|||
|
setAttribute(Qt::WA_TranslucentBackground);
|
|||
|
this->setWindowIcon(QIcon(":/res/ico/osd.png"));
|
|||
|
//初始化标题栏
|
|||
|
initTitleBar();
|
|||
|
//选项按钮
|
|||
|
btnGroupRadio = new QButtonGroup(this);
|
|||
|
btnGroupRadio->addButton(ui.radioImage1, 0);
|
|||
|
connect(ui.radioImage1, SIGNAL(toggled(bool)), this, SLOT(slot_Image(bool)));
|
|||
|
btnGroupRadio->addButton(ui.radioImage2, 1);
|
|||
|
connect(ui.radioImage2, SIGNAL(toggled(bool)), this, SLOT(slot_Image(bool)));
|
|||
|
btnGroupRadio->addButton(ui.radioImage3, 2);
|
|||
|
connect(ui.radioImage3, SIGNAL(toggled(bool)), this, SLOT(slot_Image(bool)));
|
|||
|
btnGroupRadio->addButton(ui.radioImage4, 3);
|
|||
|
connect(ui.radioImage4, SIGNAL(toggled(bool)), this, SLOT(slot_Image(bool)));
|
|||
|
btnGroupRadio->addButton(ui.radioImage6A, 4);
|
|||
|
connect(ui.radioImage6A, SIGNAL(toggled(bool)), this, SLOT(slot_Image(bool)));
|
|||
|
btnGroupRadio->addButton(ui.radioImage6B, 5);
|
|||
|
connect(ui.radioImage6B, SIGNAL(toggled(bool)), this, SLOT(slot_Image(bool)));
|
|||
|
btnGroupRadio->addButton(ui.radioImage9, 6);
|
|||
|
connect(ui.radioImage9, SIGNAL(toggled(bool)), this, SLOT(slot_Image(bool)));
|
|||
|
}
|
|||
|
|
|||
|
frmImageLayout::~frmImageLayout()
|
|||
|
{
|
|||
|
this->deleteLater();
|
|||
|
}
|
|||
|
|
|||
|
void frmImageLayout::initTitleBar()
|
|||
|
{
|
|||
|
MyTitleBar* m_titleBar = new MyTitleBar(this);
|
|||
|
m_titleBar->move(0, 0);
|
|||
|
connect(m_titleBar, SIGNAL(signalButtonCloseClicked()), this, SLOT(onButtonCloseClicked()));
|
|||
|
m_titleBar->setBackgroundColor(3, 110, 95);
|
|||
|
m_titleBar->setStyleSheet("background-color: rgba(0, 0, 0,0);color:white;font-size:16px");
|
|||
|
m_titleBar->setTitleIcon(":/res/ico/osd.png");
|
|||
|
m_titleBar->setTitleContent("图像布局");
|
|||
|
m_titleBar->setButtonType(ONLY_CLOSE_BUTTON);
|
|||
|
m_titleBar->setTitleWidth(this->width());
|
|||
|
}
|
|||
|
|
|||
|
void frmImageLayout::paintEvent(QPaintEvent* event)
|
|||
|
{
|
|||
|
//设置背景色
|
|||
|
QPainter painter(this);
|
|||
|
QPainterPath pathBack;
|
|||
|
pathBack.setFillRule(Qt::WindingFill);
|
|||
|
pathBack.addRoundedRect(QRect(0, 0, this->width(), this->height()), 3, 3);
|
|||
|
painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
|
|||
|
painter.fillPath(pathBack, QBrush(QColor("#bcc2bc")));
|
|||
|
return QWidget::paintEvent(event);
|
|||
|
}
|
|||
|
|
|||
|
void frmImageLayout::onButtonCloseClicked()
|
|||
|
{
|
|||
|
this->close();
|
|||
|
}
|
|||
|
|
|||
|
void frmImageLayout::slot_Image(bool state)
|
|||
|
{
|
|||
|
switch (btnGroupRadio->checkedId())
|
|||
|
{
|
|||
|
case 0:
|
|||
|
if (state == true)
|
|||
|
{
|
|||
|
dataVar::img_choose = 0;
|
|||
|
emit sig_Image1();
|
|||
|
}
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
if (state == true)
|
|||
|
{
|
|||
|
dataVar::img_choose = 1;
|
|||
|
emit sig_Image2();
|
|||
|
}
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
if (state == true)
|
|||
|
{
|
|||
|
dataVar::img_choose = 2;
|
|||
|
emit sig_Image3();
|
|||
|
}
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
if (state == true)
|
|||
|
{
|
|||
|
dataVar::img_choose = 3;
|
|||
|
emit sig_Image4();
|
|||
|
}
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
if (state == true)
|
|||
|
{
|
|||
|
dataVar::img_choose = 4;
|
|||
|
emit sig_Image6A();
|
|||
|
}
|
|||
|
break;
|
|||
|
case 5:
|
|||
|
if (state == true)
|
|||
|
{
|
|||
|
dataVar::img_choose = 5;
|
|||
|
emit sig_Image6B();
|
|||
|
}
|
|||
|
break;
|
|||
|
case 6:
|
|||
|
if (state == true)
|
|||
|
{
|
|||
|
dataVar::img_choose = 6;
|
|||
|
emit sig_Image9();
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|