From ae8e76f9f5e97a6a85ad4731982921e66a1422b0 Mon Sep 17 00:00:00 2001 From: syn <1296770454@qq.com> Date: Fri, 7 Jul 2023 14:56:45 +0800 Subject: [PATCH] doc: update docs for dtooltip MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新dtooltip的文档,添加示例代码和图片 Log: update docs Issue: https://github.com/linuxdeepin/dtk/issues/94 --- docs/images/DToolTip_example.png | Bin 0 -> 5506 bytes docs/widgets/dtooltip.zh_CN.dox | 88 +++++++++++++++++++++++++++++-- src/widgets/dtooltip.cpp | 75 ++++++++++++++++---------- 3 files changed, 131 insertions(+), 32 deletions(-) create mode 100644 docs/images/DToolTip_example.png diff --git a/docs/images/DToolTip_example.png b/docs/images/DToolTip_example.png new file mode 100644 index 0000000000000000000000000000000000000000..41efcf9e8b10a1ddbd8ad34daad3fe6e93f1ab9f GIT binary patch literal 5506 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 A;Q#;t literal 0 HcmV?d00001 diff --git a/docs/widgets/dtooltip.zh_CN.dox b/docs/widgets/dtooltip.zh_CN.dox index 822113377..0a9f7f6cb 100644 --- a/docs/widgets/dtooltip.zh_CN.dox +++ b/docs/widgets/dtooltip.zh_CN.dox @@ -2,11 +2,91 @@ @~chinese @file dtooltip.h @ingroup tooltip -@class -@brief -@details +@class Dtk::Widget::DToolTip +@brief 类似于 QToolTip 功能的类 +@details 用于在指定位置显示工具提示信息 -TODO: 添加类简介、示例代码、示例截图和函数使用说明等 +### 示例代码 +#### main.cpp +```cpp +#include +#include +#include +#include +DWIDGET_USE_NAMESPACE + +int main(int argc, char *argv[]) +{ + DApplication app(argc, argv); + DMainWindow window; + window.setMinimumSize(QSize(300, 200)); + + QWidget *centralWidget = new QWidget(&window); + QVBoxLayout *layout = new QVBoxLayout(centralWidget); + + QString Content = "这是一条提示消息"; // 设置提示信息文本,斜体,加粗,下划线,可根据所需添加 + DToolTip *tool = new DToolTip(Content, false); // bool completionClose 提示消息消失后是否销毁 + tool->setToolTipTextFormat(Qt::PlainText); // 设置纯文本格式,如有等需求可以选择RichText等格式 + tool->setToolTipShowMode(tool,DToolTip::Default); // 设置显示模式 + QPoint pos(200,200); + tool->show(pos,5000); // 设置提示消息出现的位置与时间 + layout->addWidget(tool); + + window.setCentralWidget(centralWidget); + window.show(); + + return app.exec(); +} +``` +@image html DToolTip_example.png + +@fn void DToolTip::setToolTipTextFormat(Qt::TextFormat format) +@brief 设置 ToolTip 的文本格式 +通过给定参数 format , 将 DStyle 内部中的 ToolTip 文本格式设置为指定的样式 +@param[in] format 文本格式 +@sa Qt::TextFormat + +@fn Qt::TextFormat DToolTip::toolTipTextFormat() +@brief 获取 ToolTip 文本格式 +@return 返回 DStyle 内部使用的 ToolTip 文本格式 +@sa Qt::TextFormat + +@fn void DToolTip::setToolTipShowMode(QWidget *widget, ToolTipShowMode mode) +@brief 设置 ToolTip 显示模式 +@param[in] widget 获取 ToolTip 显示模式的控件 +@param[in] mode ToolTip 显示模式 + +@enum Dtk::Widget::DToolTip::ToolTipShowMode +@brief ToolTipShowMode 枚举指示 ToolTip 的显示模式 +@var Dtk::Widget::DToolTip::ToolTipShowMode Dtk::Widget::DToolTip::NotShow +@brief 不显示模式,工具提示将不会显示 +@var Dtk::Widget::DToolTip::ToolTipShowMode Dtk::Widget::DToolTip::AlwaysShow +@brief 始终显示模式,工具提示将始终显示在相关的控件上 +@var Dtk::Widget::DToolTip::ToolTipShowMode Dtk::Widget::DToolTip::ShowWhenElided +@brief 省略时显示模式,只有当文本内容被省略时,工具提示才会显示为完整的文本内容 +@var Dtk::Widget::DToolTip::ToolTipShowMode Dtk::Widget::DToolTip::Default +@brief 默认模式 + +@fn DToolTip::ToolTipShowMode DToolTip::toolTipShowMode(const QWidget *widget) +@brief 获取 ToolTip 显示模式 +@param[in] widget 获取 ToolTip 显示模式的控件 +@return ToolTip 显示模式 + +@fn DToolTip::DToolTip(const QString &text, bool completionClose) +@brief DToolTip的构造函数 +@param[in] text 文本信息 +@param[in] completionClose 提示消息消失后是否销毁 + +@fn QSize DToolTip::sizeHint() const +@brief 获取 ToolTip 控件的推荐大小 +@return ToolTip 控件的推荐大小 +@sa QLabel::sizeHint() + +@fn void DToolTip::show(const QPoint &pos, int duration) +@brief 设置提示消息出现的位置 +@param[in] pos 提示消息位置 +@param[in] duration 提示消息存在时间,单位毫秒 */ + diff --git a/src/widgets/dtooltip.cpp b/src/widgets/dtooltip.cpp index 94143b3c6..894786330 100644 --- a/src/widgets/dtooltip.cpp +++ b/src/widgets/dtooltip.cpp @@ -26,23 +26,21 @@ static Qt::TextFormat textFormat = Qt::TextFormat::AutoText; } /*! - \brief 设置 tooltip 的文本格式. - - 通过给定 \a format , 将 DStyle 内部中的 ToolTip - 文本格式设置为 \a format 指定的样式。 - - \sa Qt::TextFormat +@~english + @brief set the Tooltip text format + Set the Tooltip text format inside DStyle to the specified style by setting format. + @param[in] format text format + @sa Qt::TextFormat */ void DToolTip::setToolTipTextFormat(Qt::TextFormat format) { DToolTipStatic::textFormat = format; } /*! - \brief 获取 tooltip 文本格式. - - \return 返回 DStyle 内部使用的 ToolTip 文本格式。 - - \sa Qt::TextFormat +@~english + @brief get the Tooltip text format + @return Tooltip text format used inside DStyle + @sa Qt::TextFormat */ Qt::TextFormat DToolTip::toolTipTextFormat() { @@ -50,9 +48,27 @@ Qt::TextFormat DToolTip::toolTipTextFormat() } /*! +@~english * @brief DToolTip::setToolTipShowMode - * @param widget widget to set ToolTip show mode - * @param mode ToolTip show mode + * @param[in] widget widget to set ToolTip show mode + * @param[in] mode ToolTip show mode + */ +/*! +@~english + @enum Dtk::Widget::DToolTip::ToolTipShowMode + @brief The ToolTipShowMode enum indicate the ToolTip show mode. + + \value NotShow + Do not display the ToolTip. + + \value AlwaysShow + Always display the ToolTip. + + \value ShowWhenElided + Display the ToolTip when the text is elided. + + \value Default + Use the default ToolTip show mode. */ void DToolTip::setToolTipShowMode(QWidget *widget, ToolTipShowMode mode) { @@ -60,8 +76,9 @@ void DToolTip::setToolTipShowMode(QWidget *widget, ToolTipShowMode mode) } /*! +@~english * @brief DToolTip::toolTipShowMode - * @param widget widget to get ToolTip show mode + * @param[in] widget widget to get ToolTip show mode * @return ToolTip show mode */ DToolTip::ToolTipShowMode DToolTip::toolTipShowMode(const QWidget *widget) @@ -135,18 +152,18 @@ void DToolTip::setShowToolTip(QWidget *widget, bool showToolTip) } /*! - \class Dtk::Widget::DToolTip - \inmodule dtkwidget - \brief DToolTip类似于 QToolTip 功能的类. - - DToolTip提供了将 DToolTip 显示在指定位置的函数 +@~english + @class Dtk::Widget::DToolTip + @inmodule dtkwidget + @brief like QToolTip + @details DToolTip provides a function that displays DTooltip in the specified position. */ /*! - \brief DToolTip的构造函数. - - \a text 文本信息 - \a completionClose 提示消息消失后是否销毁 +@~english + @brief DToolTip constructor + @param[in] text text message + @param[in] completionClose Prompt whether the tip is destroyed after disappearing. */ DToolTip::DToolTip(const QString &text, bool completionClose) : DTipLabel(text) @@ -157,9 +174,10 @@ DToolTip::DToolTip(const QString &text, bool completionClose) } /*! - \brief DToolTip::sizeHint. +@~english + @brief DToolTip::sizeHint - \sa QLabel::sizeHint() + @sa QLabel::sizeHint() */ QSize DToolTip::sizeHint() const { @@ -172,10 +190,11 @@ QSize DToolTip::sizeHint() const } /*! - \brief DToolTip::show设置提示消息出现的位置. +@~english + @brief DToolTip::show set the location where the tip appears - \a pos 提示消息位置 - \a duration 提示消息存在时间,单位毫秒 + @param[in] pos location of tip + @param[in] duration tip existence time, unit in millisecond */ void DToolTip::show(const QPoint &pos, int duration) {