DtkWidget
DTK Widget module
载入中...
搜索中...
未找到
Dtk::Widget::DAboutDialog类 参考

DAboutDialog 类提供了应用程序的关于对话框, 规范所有 deepin 应用关于窗口设计规范, 符合 deepin 风格 更多...

类 Dtk::Widget::DAboutDialog 继承关系图:
Dtk::Widget::DDialog Dtk::Widget::DAbstractDialog

Public 槽

void setWindowTitle (const QString &windowTitle)
 设置对话标题栏内容
 
void setProductIcon (const QIcon &icon)
 设置展示的 icon 图标.
 
void setProductName (const QString &productName)
 设置对话框显示的应用名称
 
void setVersion (const QString &version)
 设置指定的 version 版本信息
 
void setDescription (const QString &description)
 此函数用于设置指定的 description 描述信息.
 
void setCompanyLogo (const QPixmap &companyLogo)
 此函数用于设置指定的 companyLogo 组织标志
 
void setWebsiteName (const QString &websiteName)
 设置指向的网站名
 
void setWebsiteLink (const QString &websiteLink)
 设置指定的网站连接
 
void setAcknowledgementVisible (bool visible)
 设置鸣谢是否可见
 
void setLicense (const QString &license)
 设置指定的license许可证
 
- Public 槽 继承自 Dtk::Widget::DDialog
int addButton (const QString &text, bool isDefault=false, ButtonType type=ButtonNormal)
 向对话框添加按钮
 
int addButtons (const QStringList &text)
 向对话框添加按钮
 
void insertButton (int index, const QString &text, bool isDefault=false, ButtonType type=ButtonNormal)
 向对话框插入按钮
 
void insertButton (int index, QAbstractButton *button, bool isDefault=false)
 向对话框插入按钮
 
void insertButtons (int index, const QStringList &text)
 向对话框插入按钮
 
void removeButton (int index)
 从对话框移除按钮
 
void removeButton (QAbstractButton *button)
 从对话框移除按钮
 
void removeButtonByText (const QString &text)
 从对话框移除按钮
 
void clearButtons ()
 清除所有按钮
 
bool setDefaultButton (int index)
 设置默认按钮
 
bool setDefaultButton (const QString &str)
 设置默认按钮
 
void setDefaultButton (QAbstractButton *button)
 设置默认按钮
 
void addContent (QWidget *widget, Qt::Alignment alignment={})
 添加控件到对话框内容布局.
 
void insertContent (int index, QWidget *widget, Qt::Alignment alignment={})
 在对话框内容布局指定位置插入控件.
 
void removeContent (QWidget *widget, bool isDelete=true)
 从对话框内容布局中移除指定控件
 
void clearContents (bool isDelete=true)
 清空对话框内容布局中的所有内容.
 
void setSpacing (int spacing)
 设置对话框内容间隔
 
void addSpacing (int spacing)
 追加对话框内容间隔.
 
void insertSpacing (int index, int spacing)
 插入对话框内容间隔
 
void clearSpacing ()
 清除内容间隔
 
void setButtonText (int index, const QString &text)
 设置按钮文字
 
void setButtonIcon (int index, const QIcon &icon)
 设置按钮图标
 
void setTitle (const QString &title)
 设置对话框标题
 
void setWordWrapTitle (bool wordWrap)
 设定标题Label内容是否可截断换行
 
void setMessage (const QString &message)
 设置对话框消息内容
 
void setWordWrapMessage (bool wordWrap)
 设置对话框消息内容
 
void setIcon (const QIcon &icon)
 设置对话框图标
 
void setTextFormat (Qt::TextFormat textFormat)
 设置文字格式
 
void setOnButtonClickedClose (bool onButtonClickedClose)
 设置是否在点击按钮后关闭对话框
 
void setCloseButtonVisible (bool closeButtonVisible)
 设置关闭按钮的可见性
 
int exec () Q_DECL_OVERRIDE
 以模态框形式显示当前对话框
 
- Public 槽 继承自 Dtk::Widget::DAbstractDialog
void moveToCenter ()
 将对话框移动至屏幕中央或其父控件的中央
 
void moveToTopRight ()
 将对话框移动至屏幕右上角或其父控件的右上角
 
void moveToCenterByRect (const QRect &rect)
 移动对话框到给定rect区域的中央。rect是移动对话框要参照的QRect区域
 
void moveToTopRightByRect (const QRect &rect)
 移动对话框到给定rect区域的右上角。rect是移动所需要参照的QRect位置。
 
void setDisplayPosition (DisplayPosition displayPosition)
 设置对话框显示位置
 

信号

void featureActivated ()
 
void licenseActivated ()
 
- 信号 继承自 Dtk::Widget::DDialog
void aboutToClose ()
 
void closed ()
 
void buttonClicked (int index, const QString &text)
 
void titleChanged (QString title)
 
void messageChanged (QString massage)
 
void textFormatChanged (Qt::TextFormat textFormat)
 
void sizeChanged (QSize size)
 
void visibleChanged (bool visible)
 
- 信号 继承自 Dtk::Widget::DAbstractDialog
void sizeChanged (QSize size)
 窗口大小发生改变
 

Public 成员函数

 DAboutDialog (QWidget *parent=0)
 
QString windowTitle () const
 返回对话标题栏内容
 
QString productName () const
 返回对话框显示的应用名称
 
QString version () const
 返回指定的 version 版本信息
 
QString description () const
 返回指定的 description 描述信息
 
QPixmap companyLogo () const
 返回指定的 companyLogo 组织标志
 
QString websiteName () const
 返回指向的网站名
 
QString websiteLink () const
 返回指定的网站连接
 
QString license () const
 返回指定的license许可证
 
void setLicenseEnabled (bool enabled)
 
- Public 成员函数 继承自 Dtk::Widget::DDialog
 DDialog (QWidget *parent=nullptr)
 构造一个 DDialog 对话框
 
 DDialog (const QString &title, const QString &message, QWidget *parent=0)
 构造一个 DDialog 对话框
 
int getButtonIndexByText (const QString &text) const
 通过按钮文字获取按钮下标
 
int buttonCount () const
 获得对话框包含的按钮数量
 
int contentCount () const
 获得对话框包含的所有内容控件的数量
 
QList< QAbstractButton * > getButtons () const
 获得对话框的按钮列表
 
QList< QWidget * > getContents () const
 获得对话框包含的所有内容控件列表
 
QAbstractButton * getButton (int index) const
 获得指定下标所对应的按钮
 
QWidget * getContent (int index) const
 获取指定下标对应的内容控件
 
QString title () const
 返回对话框标题
 
QString message () const
 返回对话框消息文本
 
QIcon icon () const
 返回对话框图标
 
Qt::TextFormat textFormat () const
 返回对话框的文本格式
 
bool onButtonClickedClose () const
 检查在点击任何按钮后是否都会关闭对话框
 
void setContentLayoutContentsMargins (const QMargins &margins)
 设定内容布局的内容 margin
 
QMargins contentLayoutContentsMargins () const
 返回内容布局的边距.
 
bool closeButtonVisible () const
 关闭按钮的可见属性.
 
- Public 成员函数 继承自 Dtk::Widget::DAbstractDialog
 DAbstractDialog (QWidget *parent=nullptr)
 构造一个DAbstractDialog实例
 
 DAbstractDialog (bool blurIfPossible, QWidget *parent=nullptr)
 构造一个 DAbstractDialog 实例
 
DisplayPosition displayPosition () const
 
void move (const QPoint &pos)
 将窗口移动到指定坐标
 
void move (int x, int y)
 将窗口移动到指定坐标
 
void setGeometry (const QRect &rect)
 构造一个矩形
 
void setGeometry (int x, int y, int width, int height)
 

Protected 成员函数

void keyPressEvent (QKeyEvent *event) Q_DECL_OVERRIDE
 
void showEvent (QShowEvent *event) Q_DECL_OVERRIDE
 
- Protected 成员函数 继承自 Dtk::Widget::DDialog
 DDialog (DDialogPrivate &dd, QWidget *parent=0)
 
void showEvent (QShowEvent *event) Q_DECL_OVERRIDE
 
void hideEvent (QHideEvent *event) Q_DECL_OVERRIDE
 
void closeEvent (QCloseEvent *event) override
 
void childEvent (QChildEvent *event) Q_DECL_OVERRIDE
 
void resizeEvent (QResizeEvent *event) override
 
void keyPressEvent (QKeyEvent *event) override
 
bool eventFilter (QObject *watched, QEvent *event) override
 
void changeEvent (QEvent *event) override
 
- Protected 成员函数 继承自 Dtk::Widget::DAbstractDialog
void mouseMoveEvent (QMouseEvent *event) Q_DECL_OVERRIDE
 对话框的鼠标移动事件
 
void mousePressEvent (QMouseEvent *event) Q_DECL_OVERRIDE
 对话框的鼠标点击事件
 
void mouseReleaseEvent (QMouseEvent *event) Q_DECL_OVERRIDE
 对话框的鼠标释放事件
 
void resizeEvent (QResizeEvent *event) Q_DECL_OVERRIDE
 窗口大小改变事件
 
void showEvent (QShowEvent *event) override
 窗口显示事件,如果收到过鼠标移动事件不再使用自动布局
 
 DAbstractDialog (DAbstractDialogPrivate &dd, QWidget *parent=nullptr)
 

属性

QString windowTitle
 话标题栏内容属性
 
QString productName
 对话框显示的应用名称属性
 
QString version
 指定的 version 版本信息属性
 
QString description
 指定的 description 描述信息属性
 
QString license
 指定的license许可证属性
 
QString websiteName
 指向的网站名属性
 
QString websiteLink
 指定的网站连接属性
 
- 属性 继承自 Dtk::Widget::DDialog
QString title
 对话框标题属性
 
QString message
 对话框消息属性
 
QIcon icon
 对话框图标属性
 
Qt::TextFormat textFormat
 对话框的文本格式属性
 
bool onButtonClickedClose
 标志是否在点击按钮后关闭对话框的属性
 
bool closeButtonVisible
 关闭按钮的可见属性
 
- 属性 继承自 Dtk::Widget::DAbstractDialog
DisplayPosition displayPosition
 获取对话框显示位置
 

额外继承的成员函数

- Public 类型 继承自 Dtk::Widget::DDialog
enum  ButtonType { ButtonNormal , ButtonWarning , ButtonRecommend }
 表示按钮类型
 
- Public 类型 继承自 Dtk::Widget::DAbstractDialog
enum  DisplayPosition { Center , TopRight }
 对话框显示位置 更多...
 
enum  DisplayPostion { DisplayCenter = Center , DisplayTopRight = TopRight }
 

详细描述

DAboutDialog 类提供了应用程序的关于对话框, 规范所有 deepin 应用关于窗口设计规范, 符合 deepin 风格

概述

DAboutDialog 类提供了应用程序的关于对话框

项目目录结构在同一目录下

CMakeLists.txt

cmake_minimum_required(VERSION 3.1.0) # 指定cmake最低版本
project(example1 VERSION 1.0.0 LANGUAGES CXX) # 指定项目名称, 版本, 语言 cxx就是c++
set(CMAKE_CXX_STANDARD 11) # 指定c++标准
set(CMAKE_CXX_STANDARD_REQUIRED ON) # 指定c++标准要求,至少为11以上
set(target example1) # 指定目标名称
set(CMAKE_AUTOMOC ON) # support qt moc # 支持qt moc
set(CMAKE_AUTORCC ON) # support qt resource file # 支持qt资源文件
set(CMAKE_AUTOUIC ON) # support qt ui file # 支持qt ui文件(非必须)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # support clangd 支持 clangd
if (CMAKE_VERSION VERSION_LESS "3.7.0") # 如果cmake版本小于3.7.0
set(CMAKE_INCLUDE_CURRENT_DIR ON) # 设置包含当前目录
endif()
find_package(Qt5 COMPONENTS Widgets REQUIRED) # 寻找Qt5组件Widgets
find_package(Qt5 COMPONENTS Gui REQUIRED) # 寻找Qt5组件Gui
find_package(Dtk COMPONENTS Widget REQUIRED) # 寻找Dtk组件Widget
find_package(Dtk COMPONENTS Core REQUIRED) # 寻找Dtk组件Core
find_package(Dtk COMPONENTS Gui) # 寻找Dtk组件Gui
add_executable(example1 # 添加可执行文件
main.cpp
)
target_link_libraries(example1 PRIVATE
Qt5::Widgets
Qt5::Gui
dtkgui
dtkcore
dtkwidget
) # 链接库

main.cpp

#include <DAboutDialog>
#include <DApplication>
DWIDGET_USE_NAMESPACE // 使用Dtk widget命名空间
int main(int argc, char *argv[]) {
DApplication app(argc, argv);
app.setProductName("Dtk example"); // 设置产品名称
app.setOrganizationName("deepin");
DAboutDialog about; // 创建DAboutDialog对象
about.setWindowTitle("这是一个最简单的例子"); // 设置窗口标题
about.show(); // 显示DAboutDialog
return app.exec(); // 运行程序
}
DAboutDialog 类提供了应用程序的关于对话框, 规范所有 deepin 应用关于窗口设计规范, 符合 deepin 风格
Definition daboutdialog.h:14
void setWindowTitle(const QString &windowTitle)
设置对话标题栏内容
Definition daboutdialog.cpp:445
DApplication 是 DTK 中用于替换 QCoreApplication 相关功能实现的类.
Definition dapplication.h:33
int exec() Q_DECL_OVERRIDE
以模态框形式显示当前对话框
Definition ddialog.cpp:1107

这是一个最简单的例子,运行结果如下

example

但是这个例子并不是我们实际上使用的样子,在我们实际上的使用过程中,我们需要添加一些信息,比如我们的logo,我们的版本号,我们的版权信息等等,这些信息都应该在app中设置,如下

CMakeLists.txt

cmake_minimum_required(VERSION 3.1.0)
project(example VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(target example)
set(CMAKE_AUTOMOC ON) # support qt moc
set(CMAKE_AUTORCC ON) # support qt resource file
set(CMAKE_AUTOUIC ON) # support qt ui file
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # suppot clangd
if (CMAKE_VERSION VERSION_LESS "3.7.0")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()
find_package(Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt5 COMPONENTS Gui REQUIRED)
find_package(Dtk COMPONENTS Widget REQUIRED)
find_package(Dtk COMPONENTS Core REQUIRED)
find_package(Dtk COMPONENTS Gui)
add_executable(example
widget.hpp
widget.cpp
main.cpp
)
target_link_libraries(example PRIVATE
Qt5::Widgets
Qt5::Gui
dtkgui
dtkcore
dtkwidget
)

main.cpp

#include <DAboutDialog>
#include <DApplication>
#include "widget.hpp"
DWIDGET_USE_NAMESPACE
int main(int argc, char *argv[])
{
DApplication a(argc, argv);
example example1;
example1.show();
a.setApplicationName("dtk example"); //直接设置app的名称
DAboutDialog dialog;
return a.exec();
}

widget.hpp

#ifndef EXAMPLE_H
#define EXAMPLE_H
#include <DPushButton>
#include <DLineEdit>
#include <DLabel>
#include <QVBoxLayout>
#include <DMainWindow>
DWIDGET_USE_NAMESPACE
class example : public DMainWindow
{
Q_OBJECT
public:
example();
~example();
private:
QVBoxLayout *mainlayout;
DLabel *label;
DLineEdit *text;
DPushButton *button;
private slots:
void printlog();
};
#endif
DLabel一个重新实现的 QLabel。
Definition dlabel.h:18
DLineEdit一个聚合 QLineEdit 的输入框.
Definition dlineedit.h:20
The DMainWindow class provides a main application window.
Definition dmainwindow.h:20

widget.cpp

#include "widget.hpp"
#include <cstdio>
#include <QDebug>
example::example()
{
mainlayout= new QVBoxLayout;
button = new DPushButton;
label = new DLabel("test");
text = new DLineEdit();
mainlayout->addWidget(label);
mainlayout->addWidget(text);
mainlayout->addWidget(button);
setLayout(mainlayout);
connect(button,SIGNAL(clicked()),this,SLOT(printlog()));
}
example::~example(){}
void example::printlog()
{
printf("%s\n","clicked");
qDebug() << "button clicked!"; // 如果没设置相应环境变量则此Debug无法输出
}

效果如下图

example

成员函数说明

◆ description()

QString Dtk::Widget::DAboutDialog::description ( ) const

返回指定的 description 描述信息

参见
属性 description

◆ license()

QString Dtk::Widget::DAboutDialog::license ( ) const

返回指定的license许可证

参见
属性 license

◆ productName()

QString Dtk::Widget::DAboutDialog::productName ( ) const

返回对话框显示的应用名称

参见
属性 productName

◆ setDescription

void Dtk::Widget::DAboutDialog::setDescription ( const QString &  description)
slot

此函数用于设置指定的 description 描述信息.

参见
属性 description

◆ setLicense

void Dtk::Widget::DAboutDialog::setLicense ( const QString &  license)
slot

设置指定的license许可证

参见
属性 license

◆ setProductIcon

void Dtk::Widget::DAboutDialog::setProductIcon ( const QIcon &  icon)
slot

设置展示的 icon 图标.

在关于对话框展示的图标.

◆ setProductName

void Dtk::Widget::DAboutDialog::setProductName ( const QString &  productName)
slot

设置对话框显示的应用名称

参见
属性 productName

◆ setVersion

void Dtk::Widget::DAboutDialog::setVersion ( const QString &  version)
slot

设置指定的 version 版本信息

参见
属性 version

◆ setWebsiteLink

void Dtk::Widget::DAboutDialog::setWebsiteLink ( const QString &  websiteLink)
slot

设置指定的网站连接

参见
属性 websiteLink

◆ setWebsiteName

void Dtk::Widget::DAboutDialog::setWebsiteName ( const QString &  websiteName)
slot

设置指向的网站名

通常采用 www.deepin.org 等形式

参见
属性 websiteName

◆ setWindowTitle

void Dtk::Widget::DAboutDialog::setWindowTitle ( const QString &  windowTitle)
slot

设置对话标题栏内容

参见
属性 windowTitle

◆ version()

QString Dtk::Widget::DAboutDialog::version ( ) const

返回指定的 version 版本信息

参见
属性 version

◆ websiteLink()

QString Dtk::Widget::DAboutDialog::websiteLink ( ) const

返回指定的网站连接

参见
属性 websiteLink

◆ websiteName()

QString Dtk::Widget::DAboutDialog::websiteName ( ) const

返回指向的网站名

参见
属性 websiteName

◆ windowTitle()

QString Dtk::Widget::DAboutDialog::windowTitle ( ) const

返回对话标题栏内容

参见
属性 windowTitle

属性说明

◆ description

QString Dtk::Widget::DAboutDialog::description
readwrite

指定的 description 描述信息属性

参见
read方法 description
write方法 setDescription

◆ license

QString Dtk::Widget::DAboutDialog::license
readwrite

指定的license许可证属性

参见
read方法 license
write方法 setLicense

◆ productName

QString Dtk::Widget::DAboutDialog::productName
readwrite

对话框显示的应用名称属性

参见
read方法 productName
write方法 setProductName

◆ version

QString Dtk::Widget::DAboutDialog::version
readwrite

指定的 version 版本信息属性

参见
read方法 version
write方法 setVersion

◆ websiteLink

QString Dtk::Widget::DAboutDialog::websiteLink
readwrite

指定的网站连接属性

如果用户点击对话框中显示的网址, 则会打开相应的链接

参见
read方法 websiteLink
write方法 setWebsiteLink

◆ websiteName

QString Dtk::Widget::DAboutDialog::websiteName
readwrite

指向的网站名属性

参见
read方法 websiteName
write方法 setWebsiteName

◆ windowTitle

QString Dtk::Widget::DAboutDialog::windowTitle
readwrite

话标题栏内容属性

参见
read方法 windowTitle
write方法 setWindowTitle

该类的文档由以下文件生成: