#include "titlebar.h" #include #include #include #include #include TitleBar::TitleBar(QWidget *parent) : QWidget(parent),m_bMayClose(true) { QHBoxLayout *pHLayout = new QHBoxLayout; pHLayout->setContentsMargins(0,0,0,0); QPushButton *pClose = new QPushButton("X"); //pClose->setFlat(true); //pClose->setStyleSheet("border-image:url(:/resource/close.png); min-height: 30px; max-height:30px; min-width: 30px; max-width:30px"); connect(pClose, &QPushButton::clicked, this, [=](){ if(m_bMayClose) { if(topLevelWidget()) topLevelWidget()->hide(); qApp->processEvents(); qApp->quit(); }else{ emit showBoxWidget(); } }); m_title = new QLabel("FORLINX EMBEDDED"); m_title->setStyleSheet("color: blue; font-size:18px"); QFont font; font.setBold(true); m_title->setFont(font); m_version = new QLabel("Version: 0.0.1"); m_version->setStyleSheet("color: blue"); pHLayout->addWidget(m_title); pHLayout->addStretch(); pHLayout->addWidget(m_version); pHLayout->addSpacing(30); pHLayout->addWidget(pClose); QVBoxLayout *pVLayout = new QVBoxLayout(this); QFrame *pLine = new QFrame; pLine->setFrameShape(QFrame::HLine); pLine->setLineWidth(2); pLine->setFrameShadow(QFrame::Raised); pLine->setAutoFillBackground(true); pVLayout->addLayout(pHLayout); pVLayout->addWidget(pLine); pVLayout->setContentsMargins(10, 10, 10, 0); pVLayout->setSpacing(10); } void TitleBar::setAppMayClose(bool bMay) { m_bMayClose = bMay; } void TitleBar::setVersion(const QString &version) { m_version->setText(version); } void TitleBar::showTitlebarName(const QString &name) { m_title->setText("Forlinx Embedded-"+ name); }