数字键盘
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

54 lines
1.0 KiB

#ifndef NUMKEYDIA_H
#define NUMKEYDIA_H
#include "NumKeyBoard_global.h"
#include <QDialog>
#include <QScopedPointer>
// 向前声明
namespace Ui {
class NumKeyDia;
}
class NumKeyDiaPrivate;
class NUMKEYBOARD_EXPORT NumKeyDia : public QDialog
{
Q_OBJECT
// 声明私有类
Q_DECLARE_PRIVATE(NumKeyDia)
public:
explicit NumKeyDia(QWidget *parent = nullptr);
~NumKeyDia();
static NumKeyDia *instance();
void setValue(const QString &value);
QString &getValue();
protected:
bool eventFilter(QObject *obj, QEvent *event) override;
private slots:
void on_btn_ok_clicked();
void on_btn_cancel_clicked();
void on_btn_clear_clicked();
void on_btn_back_clicked();
void btn_input_clicked();
void closeKeyBoard();
private:
// 使用 QScopedPointer 管理私有实现类
QScopedPointer<NumKeyDiaPrivate> d_ptr;
static NumKeyDia *singleton;
// 禁用拷贝
Q_DISABLE_COPY(NumKeyDia)
};
namespace KeyBoard
{
NUMKEYBOARD_EXPORT NumKeyDia *app();
};
#endif // NUMKEYDIA_H