92 lines
2.0 KiB
C++
92 lines
2.0 KiB
C++
/*
|
|
* 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
|