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

可以使用 DCircleProgress 类快速创建环形进度条控件. DCircleProgress 提供了一个可控制颜色并可以包含文字显示的环形进度条控件。可以快速创建底色为 backgroundColor, 进度颜色为 chunkColor 的环形进度条。 更多...

类 Dtk::Widget::DCircleProgress 继承关系图:

信号

void clicked ()
 
void mouseEntered ()
 
void mouseLeaved ()
 
void valueChanged (const int value) const
 

Public 成员函数

 DCircleProgress (QWidget *parent=0)
 
int value () const
 环形进度条的进度值。 最大值为 100 ,最小值为 0 。
 
void setValue (int value)
 设置环形进度条的进度值。 最大值为 100 ,最小值为 0 。将根据该值和最大值(100)的比例关系绘制进度。
 
const QString text () const
 环形进度条旁边的文字。
 
void setText (const QString &text)
 设置环形进度条旁边的文字
 
const QColor backgroundColor () const
 
void setBackgroundColor (const QColor &color)
 设置环形进度条的背景色。
 
const QColor chunkColor () const
 环形进度条的前景色,用以标识进度。
 
void setChunkColor (const QColor &color)
 设置用以标识进度环形进度条的前景色。
 
int lineWidth () const
 环形进度条的环形宽度。
 
void setLineWidth (const int width)
 设置环形进度条的环形宽度。
 
QLabel * topLabel ()
 DCircleProgress::topLabel
 
QLabel * bottomLabel ()
 DCircleProgress::bottomLabel
 

Protected 成员函数

void paintEvent (QPaintEvent *e) Q_DECL_OVERRIDE
 
void mouseReleaseEvent (QMouseEvent *e) Q_DECL_OVERRIDE
 
void enterEvent (QEnterEvent *e) Q_DECL_OVERRIDE
 
void leaveEvent (QEvent *e) Q_DECL_OVERRIDE
 

属性

QColor backgroundColor
 
QColor chunkColor
 
int lineWidth
 

详细描述

可以使用 DCircleProgress 类快速创建环形进度条控件. DCircleProgress 提供了一个可控制颜色并可以包含文字显示的环形进度条控件。可以快速创建底色为 backgroundColor, 进度颜色为 chunkColor 的环形进度条。

示例代码

main.cpp

#include <DApplication>
#include <DMainWindow>
#include <DWidgetUtil>
#include <QVBoxLayout>
#include <QTimer>
DWIDGET_USE_NAMESPACE
int main(int argc, char *argv[])
{
DApplication a(argc, argv);
w.setMinimumSize(QSize(400, 400));
DCircleProgress *circleProgress = new DCircleProgress();
QTimer *timer = new QTimer();
int progress = 0; // 初始进度为0%
QObject::connect(timer, &QTimer::timeout, [&]() {
progress += 1;
circleProgress->setValue(progress);
if (progress >= 100) {
timer->stop();
}
});
timer->start(100); // 启动定时器
timer->setInterval(100); // 设置定时器的超时时间,每 100 ms 增加一点进度
// 链接valueChanged信号,使text值随value值而改变
QObject::connect(circleProgress, &DCircleProgress::valueChanged, circleProgress, [&](int value) {
circleProgress->setText(QString::number(value) + "%");
});
circleProgress->setBackgroundColor(Qt::white);
circleProgress->setChunkColor(Qt::blue);
circleProgress->setLineWidth(10);
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(circleProgress);
QWidget *mainWidget = new QWidget();
mainWidget->setLayout(layout);
w.setCentralWidget(mainWidget);
w.show();
Dtk::Widget::moveToCenter(&w);
return a.exec();
}
DApplication 是 DTK 中用于替换 QCoreApplication 相关功能实现的类.
Definition dapplication.h:33
可以使用 DCircleProgress 类快速创建环形进度条控件. DCircleProgress 提供了一个可控制颜色并可以包含文字显示的环形进度条控件。可以快速创建底色为 backgroundCo...
Definition dcircleprogress.h:20
void setBackgroundColor(const QColor &color)
设置环形进度条的背景色。
Definition dcircleprogress.cpp:155
void setText(const QString &text)
设置环形进度条旁边的文字
Definition dcircleprogress.cpp:130
void setLineWidth(const int width)
设置环形进度条的环形宽度。
Definition dcircleprogress.cpp:205
void setChunkColor(const QColor &color)
设置用以标识进度环形进度条的前景色。
Definition dcircleprogress.cpp:180
int value() const
环形进度条的进度值。 最大值为 100 ,最小值为 0 。
Definition dcircleprogress.cpp:89
void setValue(int value)
设置环形进度条的进度值。 最大值为 100 ,最小值为 0 。将根据该值和最大值(100)的比例关系绘制进度。
Definition dcircleprogress.cpp:103
The DMainWindow class provides a main application window.
Definition dmainwindow.h:20

demo示例图片

成员函数说明

◆ bottomLabel()

QLabel * DCircleProgress::bottomLabel ( )

DCircleProgress::bottomLabel

返回
返回环形进度条底部文字Label

◆ chunkColor()

const QColor DCircleProgress::chunkColor ( ) const

环形进度条的前景色,用以标识进度。

参见
setChunkColor()

◆ clicked

void Dtk::Widget::DCircleProgress::clicked ( )
signal

This signal is emitted when the user clicks the DCircleProgress widget.

该信号将会在用户点击 DCircleProgress 控件时发出。

◆ lineWidth()

int DCircleProgress::lineWidth ( ) const

环形进度条的环形宽度。

参见
setLineWidth()

◆ mouseEntered

void Dtk::Widget::DCircleProgress::mouseEntered ( )
signal

This signal is emitted when the user's mouse pointer entered the DCircleProgress widget.

该信号将会在用户的鼠标指针移入 DCircleProgress 控件时发出。

◆ mouseLeaved

void Dtk::Widget::DCircleProgress::mouseLeaved ( )
signal

This signal is emitted when the user's mouse pointer leaved the DCircleProgress widget.

该信号将会在用户的鼠标指针离开 DCircleProgress 控件时发出。

◆ setBackgroundColor()

void DCircleProgress::setBackgroundColor ( const QColor &  color)

设置环形进度条的背景色。

参数
[in]color环形进度条的背景色
参见
backgroundColor()

◆ setChunkColor()

void DCircleProgress::setChunkColor ( const QColor &  color)

设置用以标识进度环形进度条的前景色。

参数
[in]color环形进度条的前景色
参见
chunkColor()

◆ setLineWidth()

void DCircleProgress::setLineWidth ( const int  width)

设置环形进度条的环形宽度。

参数
[in]width环形进度条的环形宽度
参见
setLineWidth()

◆ setText()

void DCircleProgress::setText ( const QString &  text)

设置环形进度条旁边的文字

参数
[in]text环形进度条旁边的文字

◆ setValue()

void DCircleProgress::setValue ( int  value)

设置环形进度条的进度值。 最大值为 100 ,最小值为 0 。将根据该值和最大值(100)的比例关系绘制进度。

参见
value()

◆ topLabel()

QLabel * DCircleProgress::topLabel ( )

DCircleProgress::topLabel

返回
返回环形进度条顶部文字Label

◆ value()

int DCircleProgress::value ( ) const

环形进度条的进度值。 最大值为 100 ,最小值为 0 。

参见
setValue()

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