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

按钮的图标 更多...

类 Dtk::Widget::DIconButton 继承关系图:
Dtk::Widget::DDialogCloseButton Dtk::Widget::DFloatingButton Dtk::Widget::DTabletWindowOptionButton Dtk::Widget::DWindowCloseButton Dtk::Widget::DWindowMaxButton Dtk::Widget::DWindowMinButton Dtk::Widget::DWindowOptionButton Dtk::Widget::DWindowQuitFullButton Dtk::Widget::DragDropWidget

Public 槽

void setFlat (bool flat)
 设置是否保留边框
 

Public 成员函数

 DIconButton (QWidget *parent=nullptr)
 实现一个方便定义图标的button
 
 DIconButton (QStyle::StandardPixmap iconType, QWidget *parent=nullptr)
 
 DIconButton (DStyle::StandardPixmap iconType, QWidget *parent=nullptr)
 
 DIconButton (const DDciIcon &dciIcon, QWidget *parent=nullptr)
 
void setIcon (const QIcon &icon)
 设置button的图标
 
void setIcon (QStyle::StandardPixmap iconType)
 设置button图标的类型,传入QT预定义枚举值
 
void setIcon (DStyle::StandardPixmap iconType)
 设置button图标的类型,传入DTK预定义枚举值
 
void setIcon (const DDciIcon &icon)
 
DDciIcon dciIcon () const
 
QSize sizeHint () const override
 
QSize minimumSizeHint () const override
 
QSize iconSize () const
 icon的尺寸
 
bool isFlat () const
 button图标有无边框
 
void setEnabledCircle (bool status)
 
bool enabledCircle () const
 
void setNewNotification (const bool set_new)
 设置是否显示小红点
 

Protected 成员函数

 DIconButton (DIconButtonPrivate &dd, QWidget *parent=nullptr)
 
virtual DStyleOptionButton baseStyleOption () const
 
virtual void initStyleOption (DStyleOptionButton *option) const
 
void keyPressEvent (QKeyEvent *event) override
 

属性

bool flat
 

详细描述

按钮的图标

定制化的按钮图标,可以根据传入的图标参数具体调整

示例代码

main.cpp

#include <QVBoxLayout>
#include <DApplication>
#include <DMainWindow>
#include <DIconButton>
DWIDGET_USE_NAMESPACE
int main(int argc, char *argv[])
{
DApplication app(argc, argv);
DMainWindow window;
window.setMinimumSize(QSize(600, 200));
QWidget *centralWidget = new QWidget(&window);
QVBoxLayout *layout = new QVBoxLayout(centralWidget);
DIconButton *button1 = new DIconButton(QStyle::SP_DirIcon);
button1->setNewNotification(true); // 显示小红点
button1->setIconSize(QSize(32, 32)); // 设置图标尺寸为 32x32
layout->addWidget(button1);
DIconButton *button2 = new DIconButton();
button2->setIcon(QIcon("image.jpg")); // 使用本地的图片作为icon
button2->setIconSize(QSize(48, 48)); // 设置图标尺寸为 48x48
layout->addWidget(button2);
DIconButton *button3 = new DIconButton(QStyle::SP_ComputerIcon);
button3->setIconSize(QSize(64, 64)); // 设置图标尺寸为 64x64
layout->addWidget(button3);
window.setCentralWidget(centralWidget);
window.show();
return app.exec();
}
DApplication 是 DTK 中用于替换 QCoreApplication 相关功能实现的类.
Definition dapplication.h:33
按钮的图标
Definition diconbutton.h:24
void setIcon(const QIcon &icon)
设置button的图标
Definition diconbutton.cpp:68
void setNewNotification(const bool set_new)
设置是否显示小红点
Definition diconbutton.cpp:291
The DMainWindow class provides a main application window.
Definition dmainwindow.h:20

demo运行图片

构造及析构函数说明

◆ DIconButton()

DIconButton::DIconButton ( QWidget *  parent = nullptr)
explicit

实现一个方便定义图标的button

参数
[in]parent

成员函数说明

◆ baseStyleOption()

DStyleOptionButton Dtk::Widget::DIconButton::baseStyleOption ( ) const
protectedvirtual

◆ iconSize()

QSize DIconButton::iconSize ( ) const

icon的尺寸

返回
返回icon的尺寸

◆ isFlat()

bool DIconButton::isFlat ( ) const

button图标有无边框

返回
true无边框 false有边框

◆ setFlat

void DIconButton::setFlat ( bool  flat)
slot

设置是否保留边框

参数
[in]flattrue无边框 false有边框

◆ setIcon() [1/3]

void DIconButton::setIcon ( const QIcon &  icon)

设置button的图标

参数
[in]iconbutton的图标

◆ setIcon() [2/3]

void DIconButton::setIcon ( DStyle::StandardPixmap  iconType)

设置button图标的类型,传入DTK预定义枚举值

参数
[in]iconTypeicon类型

◆ setIcon() [3/3]

void DIconButton::setIcon ( QStyle::StandardPixmap  iconType)

设置button图标的类型,传入QT预定义枚举值

参数
[in]iconTypeicon类型

◆ setNewNotification()

void DIconButton::setNewNotification ( const bool  set_new)

设置是否显示小红点

参数
[in]set_newtrue有红点 false无红点

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