166 lines
5.0 KiB
C++
166 lines
5.0 KiB
C++
#include "brokenlinedialog.h"
|
|
#include "ui_brokenlinedialog.h"
|
|
|
|
BrokenLineDialog::BrokenLineDialog(QWidget *parent) :
|
|
QWidget(parent),
|
|
ui(new Ui::BrokenLineDialog)
|
|
{
|
|
ui->setupUi(this);
|
|
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);
|
|
setWindowModality(Qt::ApplicationModal );//用以设置窗口模态类型 ,ApplicationModal阻塞整个应用程序的所有窗口
|
|
initWidget();
|
|
initControl();
|
|
}
|
|
|
|
BrokenLineDialog::~BrokenLineDialog()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void BrokenLineDialog::initWidget()
|
|
{
|
|
ui->labelContent->setText("");
|
|
ui->labelContentInfo->setText("");
|
|
}
|
|
|
|
void BrokenLineDialog::initControl()
|
|
{
|
|
//根据不同分辨率设置控件的位置和尺寸
|
|
switch (g_emResolut)
|
|
{
|
|
case resolution1910:
|
|
initResolution1910();
|
|
break;
|
|
case resolution1006:
|
|
initResolution1006();
|
|
break;
|
|
default:
|
|
this->resize(1920,1080);
|
|
break;
|
|
}
|
|
initControlStyle();//初始化窗体控件样式
|
|
}
|
|
void BrokenLineDialog::initResolution1910()
|
|
{
|
|
//上状态栏
|
|
this->resize(1322,820);
|
|
//this->move((1920-this->width())/2,(1080-this->height())/2);
|
|
this->move(192,62);
|
|
ui->frameBack->setGeometry(0,0,1322,820);
|
|
ui->labelTitle->setGeometry(20,15,900,56);
|
|
ui->labelContent->setGeometry(12,58,1300,700);
|
|
ui->labelContentInfo->setGeometry(12,58,1300,700);
|
|
ui->buttonOk->setGeometry(1110,710,174,60);
|
|
}
|
|
|
|
void BrokenLineDialog::initResolution1006()
|
|
{
|
|
//上状态栏
|
|
|
|
this->resize(710,460);
|
|
//this->move((1024-this->width())/2,(600-this->height())/2);
|
|
this->move(100,30);
|
|
|
|
ui->frameBack->setGeometry(0,0,710,460);
|
|
ui->labelTitle->setGeometry(10,-5,500,56);
|
|
|
|
ui->labelContent->setGeometry(15,56,680,340);
|
|
ui->labelContentInfo->setGeometry(15,56,680,340);
|
|
ui->buttonOk->setGeometry(590,400,96,40);
|
|
}
|
|
|
|
//初始化窗体控件样式
|
|
void BrokenLineDialog::initControlStyle()
|
|
{
|
|
SetControlStyle setControlStyle;
|
|
setControlStyle.setUiName(this->objectName());
|
|
|
|
//设置控件图标
|
|
//背景图
|
|
ui->frameBack->setStyleSheet(TRANSPARENTSTYLE);
|
|
this->setStyleSheet(LABELWHITESTYLE);
|
|
ui->frameBack->setStyleSheet(setControlStyle.getStyleSheet(this->objectName()));
|
|
ui->labelTitle->setStyleSheet(LABELWHITESTYLE);
|
|
ui->labelTitle->setFont(fontNormal_1);
|
|
ui->labelTitle->setAlignment(Qt::AlignLeft);
|
|
ui->labelTitle->setAlignment(Qt::AlignVCenter);
|
|
//数字
|
|
ui->labelContent->setStyleSheet(LABELREDSTYLE); // 断线机头 红色 字体加大 -rq
|
|
ui->labelContent->setFont(fontNormal_10);
|
|
ui->labelContent->setAlignment(Qt::AlignCenter);//文字水平垂直居中
|
|
|
|
ui->labelContentInfo->setStyleSheet(LABELREDSTYLE); // 断线机头文字 红色 字体加大 -rq
|
|
QFont font;//设置断线文字大小
|
|
if(g_emResolut == resolution1006 )
|
|
{
|
|
font.setPixelSize(51);
|
|
}
|
|
else if (g_emResolut == resolution1910)
|
|
{
|
|
font.setPixelSize(101);
|
|
}
|
|
font.setFamily(FONTTYPE);//字体
|
|
ui->labelContentInfo->setFont(font);
|
|
ui->labelContentInfo->setAlignment(Qt::AlignCenter);//文字水平垂直居中
|
|
|
|
ui->buttonOk->setWhiteBlueBottomStyle();
|
|
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"),8);
|
|
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"));
|
|
}
|
|
|
|
//设置标题
|
|
void BrokenLineDialog::setTitleStr(QString str)
|
|
{
|
|
ui->labelTitle->setText(str);
|
|
}
|
|
|
|
//设置内容
|
|
void BrokenLineDialog::setContentInfoStr(QString str)
|
|
{
|
|
ui->labelContent->setText("");//数字的控件清空
|
|
ui->labelContent->hide();//数字的控件隐藏
|
|
ui->labelContentInfo->setText(str);//设置文字的控件内容
|
|
ui->labelContentInfo->show();//文字的控件显示
|
|
}
|
|
|
|
void BrokenLineDialog::setContentStr(QString str)
|
|
{
|
|
ui->labelContentInfo->setText("");
|
|
ui->labelContentInfo->hide();
|
|
ui->labelContent->setText(str);
|
|
ui->labelContent->show();
|
|
}
|
|
|
|
void BrokenLineDialog::show(int flag)
|
|
{
|
|
if(flag == 1)//断线弹窗
|
|
{
|
|
//数字
|
|
ui->labelContent->setStyleSheet(LABELREDSTYLE); // 断线机头 红色 字体加大 -rq
|
|
ui->labelContent->setFont(fontNormal_10);
|
|
ui->labelContent->setAlignment(Qt::AlignCenter);//文字水平垂直居中
|
|
|
|
ui->labelContentInfo->setStyleSheet(LABELREDSTYLE); // 断线机头文字 红色 字体加大 -rq
|
|
QFont font;//设置断线文字大小
|
|
font.setPixelSize(101);
|
|
font.setFamily(FONTTYPE);//字体
|
|
ui->labelContentInfo->setFont(font);
|
|
ui->labelContentInfo->setAlignment(Qt::AlignCenter);//文字水平垂直居中
|
|
}
|
|
else if (flag == 4)//扎线报警弹窗
|
|
{
|
|
ui->labelContent->setStyleSheet(LABELREDSTYLE);
|
|
QFont font;//设置文字大小
|
|
font.setPixelSize(200);
|
|
font.setFamily(FONTTYPE);//字体
|
|
ui->labelContent->setFont(font);
|
|
ui->labelContent->setAlignment(Qt::AlignCenter);//文字水平垂直居中
|
|
}
|
|
QWidget::show();
|
|
}
|
|
|
|
void BrokenLineDialog::on_buttonOk_clicked()
|
|
{
|
|
this->hide();
|
|
}
|