QuiltingHMI/sharedviews/brokenlinedialog.cpp

160 lines
4.5 KiB
C++
Raw Normal View History

2024-02-06 07:10:48 +00:00
#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(LABELREDSTYLEBROKEN); // 断线机头 红色 字体加大 -rq
// QFont font;
// font.setPixelSize(400);
//font.setFamily(FONTTYPE);//字体
// ui->labelContent->setFont(font);
ui->labelContent->setFont(fontNormal_10);
ui->labelContent->setAlignment(Qt::AlignCenter);//文字水平垂直居中
//ui->labelContent->setStyleSheet("font-size:400px");
// ui->labelContent->setAlignment(Qt::AlignHCenter);
// ui->labelContent->setAlignment(Qt::AlignVCenter);
ui->labelContentInfo->setStyleSheet(LABELREDSTYLEBROKEN); // 断线机头文字 红色 字体加大 -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);
}
//设置标题
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(LABELREDSTYLEBROKENBLUE); // 断线机头 蓝色 字体加大 -rq
}
else if (flag == 3)
{
ui->labelContent->setStyleSheet(LABELBLACKSTYLE); // 断线机头 黑色 字体加大 -rq
}
QWidget::show();
}
void BrokenLineDialog::on_buttonOk_clicked()
{
this->hide();
}