logplus/Workflow/WFWidget/include/PaiPushButton.h

92 lines
2.0 KiB
C
Raw Permalink Normal View History

2026-01-17 12:55:45 +08:00
/*
* PaiPushButton.h
*
* Created on: 2012-1-31
* Author: dev
*/
#ifndef PAI_FRAME_WIDGET_PAIPUSHBUTTON_H
#define PAI_FRAME_WIDGET_PAIPUSHBUTTON_H
#include <QPushButton>
#include "Turtle.h"
namespace pai
{
namespace gui
{
/**
* @class PaiPushButton
* @brief PaiPushButton是P.A.I系统定制发布的按钮
*/
class PAI_WIDGET_EXPORT PaiPushButton : public QPushButton
{
Q_OBJECT
public:
/**
* @brief
*/
virtual ~PaiPushButton();
/**
* @brief
* @param[in] pParent
*/
PaiPushButton(QWidget *pParent = NULL);
/**
* @brief
* @param[in] text
* @param[in] pParent
*/
PaiPushButton(const QString & text, QWidget *pParent = NULL);
/**
* @brief
* @param[in] icon
* @param[in] text
* @param[in] pParent
*/
PaiPushButton(const QIcon & icon, const QString & text, QWidget *pParent = NULL);
/**
* @brief
* @param[in] pPopupCenterWidget
*/
void SetPopupWidget(QWidget *pPopupCenterWidget);
public slots:
/**
* @brief
*/
void ClosePopupWidget();
protected:
/**
* @brief
* @param[in] pEvent
*/
virtual void mousePressEvent(QMouseEvent *pEvent);
/**
* @brief
* @param[in] pEvent
*/
virtual void mouseReleaseEvent(QMouseEvent *pEvent);
/**
* @brief
* @param[in] pEvent
*/
virtual void paintEvent(QPaintEvent *pEvent);
private:
QWidget *m_pPopupWidget; ///< 弹出窗口器件对象
QWidget *m_pPopupFrame; ///< 弹出窗口器件的容器对象
};
}
}
#endif ///< PAI_FRAME_WIDGET_PAIPUSHBUTTON_H