PowerModeler/source/customTab.cpp

63 lines
1.7 KiB
C++
Raw Normal View History

#include "customTab.h"
#include "qlabel.h"
#include <QLabel>
#include <QPushButton>
#include <QBoxLayout>
CustomTab::CustomTab(QWidget* parent)
:QWidget(parent)
{
m_pTitle = new QLabel(this);
m_IconSize = QSize(16,16);
m_pIconLabel = new QLabel(this);
m_pIconLabel->setMinimumSize(m_IconSize);
m_pIconLabel->setMaximumSize(m_IconSize);
m_pCloseBtn = new QPushButton(this);
connect(m_pCloseBtn, &QPushButton::clicked, this, &CustomTab::onCloseButtonClicked);
m_pCloseBtn->setMinimumSize(m_IconSize);
m_pCloseBtn->setMaximumSize(m_IconSize);
m_pCloseBtn->setStyleSheet("QPushButton\n"
"{\n"
" border-image: url(:/img/images/btn_close_default.png);\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" border-image: url(:/img/images/btn_close_hover.png);\n"
"}\n"
"QPushButton:pressed\n"
"{\n"
" border-image: url(:/img/images/btn_close_pressed.png);\n"
"}");
m_pLayout = new QBoxLayout(QBoxLayout::LeftToRight);
m_pLayout->setContentsMargins(9, 0, 0, 9);
m_pLayout->setSpacing(1);
m_pLayout->addWidget(m_pIconLabel);
m_pLayout->addWidget(m_pTitle);
m_pLayout->addWidget(m_pCloseBtn);
setLayout(m_pLayout);
m_pCloseBtn->hide();
}
CustomTab::~CustomTab()
{
}
void CustomTab::enterEvent(QEnterEvent* event)
{
m_pCloseBtn->show();
}
void CustomTab::leaveEvent(QEvent* event)
{
m_pCloseBtn->hide();
}
void CustomTab::onCloseButtonClicked()
{
emit closeTab(this);
}