Files

63 lines
1.7 KiB
C++
Raw Permalink Normal View History

2026-05-24 23:21:33 +02:00
#include <QPixmap>
#include "QsfTitleBar.h"
QsfTitleBar::QsfTitleBar( QWidget *parent /*= NULL*/ )
:QWidget(parent)
{
setAttribute(Qt::WA_TranslucentBackground);
QWidget* backWidget = new QWidget;
QHBoxLayout* backLayout = new QHBoxLayout;
this->setLayout(backLayout);
backLayout->addWidget(backWidget);
//backLayout->setMargin(0);
backLayout->setSpacing(0);
backWidget->setObjectName("TITLE_BACK_WIDGET");
m_layout = new QHBoxLayout;
m_layout->setContentsMargins(0, 0, 0, 0); //设置按钮组离边界的距离为5px
layLeft = new QHBoxLayout;
layLeft->setContentsMargins(0, 0, 0, 0); //设置按钮组离边界的距离为5px
layRight = new QHBoxLayout;
layRight->setContentsMargins(0, 0, 0, 0); //设置按钮组离边界的距离为5px
layRight->setSpacing(0);
m_titleLab = new QLabel;
m_titleLab->setMouseTracking(false);
backWidget->setLayout(m_layout);
m_layout->addLayout(layLeft);
m_layout->addStretch();
m_layout->addWidget(m_titleLab);
m_layout->addStretch();
m_layout->addLayout(layRight);
setObjectName("QsfTitleBar");
}
QsfTitleBar::~QsfTitleBar()
{
}
void QsfTitleBar::setWindowTitle( QString title, Qt::Alignment tAlignment /*= Qt::AlignCenter*/ )
{
m_titleLab->setText(title);
m_titleLab->setAlignment(tAlignment);
}
void QsfTitleBar::addLeftAction( QPushButton* tAct )
{
m_leftActions.append(tAct);
layLeft->addWidget(tAct);
}
void QsfTitleBar::addRightAction( QPushButton* tAct )
{
m_rightActions.append(tAct);
layRight->addWidget(tAct);
}
QString QsfTitleBar::windowTitle()
{
return m_titleLab->text();
}