123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #ifndef CUSTOMQDATETIMEEDIT_H
- #define CUSTOMQDATETIMEEDIT_H
- #include <QDateTimeEdit>
- #include <QObject>
- #include <QWidget>
- #include <QScopedPointer>
- #include <QObject>
- #include "settings/OtherSettings/dialog/DialogEditValue.h"
- /**
- * @class CustomQDateTimeEdit
- * @brief CustomQDateTimeEdit 是一个自定义的 QDateTimeEdit 控件,它允许用户通过对话框编辑日期和时间值。
- *
- * 这个类继承自 QDateTimeEdit,并添加了一个事件过滤器,用于在用户点击控件时显示一个对话框,让用户编辑日期和时间值。
- *
- * @note 使用这个类时,需要确保 Qt 库已经正确安装和配置。
- *
- * @param parent 指向父控件的指针,如果为 nullptr,则此控件没有父控件。
- *
- * @example
- * 下面是一个简单的示例,展示了如何使用 CustomQDateTimeEdit 控件:
- *
- * @code
- * QWidget *parentWidget = new QWidget;
- * CustomQDateTimeEdit *customDateTimeEdit = new CustomQDateTimeEdit(parentWidget);
- * customDateTimeEdit->setDateTime(QDateTime::currentDateTimeUtc());
- * @endcode
- */
- class CustomQDateTimeEdit : public QDateTimeEdit
- {
- Q_OBJECT
- public:
- /**
- * @brief 构造函数,创建一个 CustomQDateTimeEdit 对象。
- *
- * @param parent 指向父控件的指针,如果为 nullptr,则此控件没有父控件。
- */
- explicit CustomQDateTimeEdit(QWidget *parent = nullptr);
- /**
- * @brief 析构函数,销毁 CustomQDateTimeEdit 对象。
- */
- ~CustomQDateTimeEdit();
- protected:
- /**
- * @brief 事件过滤器,用于处理自定义事件。
- *
- * @param obj 发生事件的 QObject 对象。
- * @param event 发生的事件。
- *
- * @return 如果事件被处理,则返回 true;否则返回 false。
- */
- bool eventFilter(QObject *obj, QEvent *event) override;
- private:
- /**
- * @brief 指向一个 DialogEditValue 对象的指针,用于显示对话框编辑日期和时间值。
- */
- QScopedPointer<DialogEditValue> m_input_dialog;
- };
- #endif // CUSTOMQDATETIMEEDIT_H
|