XTitleWidget.h文件
#ifndef XTITLEWIDGET_H
#define XTITLEWIDGET_H
#include <QFrame>
namespace Ui {
class XTitleWidget;
}
class XTitleWidget : public QFrame
{
Q_OBJECT
public:
explicit XTitleWidget(QWidget *parent = 0);
~XTitleWidget();
void SetMainWidget(QWidget *pMainWidget);
void SetTitle(QString title);
// QWidget interface
protected:
virtual void mousePressEvent(QMouseEvent *) override;
virtual void mouseReleaseEvent(QMouseEvent *) override;
virtual void mouseMoveEvent(QMouseEvent *) override;
virtual void mouseDoubleClickEvent(QMouseEvent *) override;
virtual void resizeEvent(QResizeEvent*) override;
void UpdateTitle(QString title);
private slots:
void on_xtitlewidget_close_clicked();
private:
Ui::XTitleWidget *ui;
bool m_bMouseDown = false;
QPoint m_lastPt;
QWidget * m_pMainWidget = nullptr;
QString m_title = "";
};
#endif // XTITLEWIDGET_H
XTitleWidget.cpp
#include "XTitleWidget.h"
#include "ui_XTitleWidget.h"
#include <QMouseEvent>
XTitleWidget::XTitleWidget(QWidget *parent) :
QFrame(parent),
ui(new Ui::XTitleWidget)
{
ui->setupUi(this);
setWindowOpacity(0.7);
}
XTitleWi