#include "loqtitlebar.h" #include LoQTitleBar::LoQTitleBar(QWidget *parent) : QWidget(parent) { bn_Minimize = new QPushButton(this); bn_Maximize = new QPushButton(this); bn_Close = new QPushButton(this); bn_Minimize->setIcon(QIcon(":/res/WndMinimize.png")); bn_Maximize->setIcon(QIcon(":/res/WndMaximize.png")); bn_Close->setIcon(QIcon(":/res/WndClose.png")); bn_Minimize->setToolTip(tr("Minimize")); bn_Maximize->setToolTip(tr("Maximize")); bn_Close->setToolTip(tr("Close")); connect(bn_Minimize, &QPushButton::clicked, window(), &QWidget::showMinimized); connect(bn_Maximize, &QPushButton::clicked, this, [this](){ auto win = window(); if(win->isMaximized()) win->showNormal(); else win->showMaximized(); }); connect(bn_Close, &QPushButton::clicked, window(), &QWidget::close); } void LoQTitleBar::refreshLable() { bn_Minimize->setToolTip(tr("Minimize")); bn_Maximize->setToolTip(tr("Maximize")); bn_Close->setToolTip(tr("Close")); } bool LoQTitleBar::eventFilter(QObject *, QEvent *e) { if(e->type()==QEvent::WindowStateChange) bn_Maximize->setToolTip(window()->isMaximized() ? tr("Restore") : tr("Maximize")); return false; }