63 lines
1.7 KiB
C++
63 lines
1.7 KiB
C++
#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);
|
|
}
|