【Qt开发】进度条ProgressBar和日历Calendar Widget
目录
1,ProgressBar说明
2,ProgressBar相关运用
3,Calendar Widget
1,ProgressBar说明
QProgressBar 部件表示一个进度条。其核心属性如下:
2,ProgressBar相关运用
下面来代码运用进度条的基本使用。将进度条从0增长到100,并设置进度颜色为蓝色。这里要注意的是同时要把 QProcessBar 的 alignment 属性设置为垂直水平居中,否则进度条中的数字会跑到左上角。这个可能是 Qt 本身的 bug。
// chunk是选中进度条中的每个"块"
ui->progressBar->setStyleSheet("QProgressBar::chunk {background-color: #FF0000;}");
ui->progressBar->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, &Widget::handle);
timer->start(100);
void Widget::handle()
{
// 获取到进度条的当前值
int value = ui->progressBar->value();
if (value >= 100) {
// 进度条满了,就可以停止定时器了
timer->stop();
return;
}
ui->progressBar->setValue(value + 1);
}
3,Calendar Widget
QCalendarWidget 表示一个 “日历”,形如下图。
其核心属性和相关的几个重要信号如下:
void Widget::on_calendarWidget_selectionChanged()
{
QDate date = ui->calendarWidget->selectedDate();
qDebug() << date;
}