#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(); }