QComboBox、QSpinBox、QSlider和QProgressBar是四种常见的控件,它们各自有不同的用途和特性。以下是对它们的详细介绍和C++示例代码:
-
QComboBox:
- 用途: 用于创建一个可下拉的列表框,用户可以从中选择一个选项。
- 特性: 可以包含字符串列表,可以允许用户编辑列表中的内容。
-
QSpinBox:
- 用途: 用于创建一个带有上下箭头的数字选择框,用户可以通过点击箭头或输入数字来改变值。
- 特性: 可以设置最小值、最大值、步长等。
-
QSlider:
- 用途: 用于创建一个滑动条,用户可以通过拖动滑块来选择一个值。
- 特性: 可以设置最小值、最大值、步长等,支持水平和垂直方向。
-
QProgressBar:
- 用途: 用于显示任务的进度,通常用于指示耗时操作的进行情况。
- 特性: 可以设置最小值、最大值、当前值,可以设置文本显示格式。
小例子
cpp
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QComboBox>
#include <QSpinBox>
#include <QSlider>
#include <QProgressBar>
#include <QObject>
#include "test.h"
test::test(QWidget *parent)
: QWidget(parent)
, ui(new Ui::testClass())
{
ui->setupUi(this);
QVBoxLayout* layout = new QVBoxLayout(this);
// QComboBox
QComboBox* comboBox = new QComboBox(this);
comboBox->addItem("Option 1");
comboBox->addItem("Option 2");
comboBox->addItem("Option 3");
// QSpinBox
QSpinBox* spinBox = new QSpinBox(this);
spinBox->setRange(0, 100);
spinBox->setValue(50);
// QSlider
QSlider* slider = new QSlider(Qt::Horizontal, this);
slider->setRange(0, 100);
slider->setValue(50);
// QProgressBar
QProgressBar* progressBar = new QProgressBar(this);
progressBar->setRange(0, 100);
progressBar->setValue(50);
// Connect QSlider to QProgressBar
QObject::connect(slider, &QSlider::valueChanged, progressBar, &QProgressBar::setValue);
// Add widgets to layout
layout->addWidget(comboBox);
layout->addWidget(spinBox);
layout->addWidget(slider);
layout->addWidget(progressBar);
setLayout(layout);
}
test::~test()
{
delete ui;
}
当前面那些控件学习的很扎实后,这几个很简单,这里就不仔细的写文档了,这里只把学习链接放上去:
【QT开发笔记-基础篇】| 第二章 常用控件 | 2.7 组合框 QComboBox_qt中组合框里的不同功能如何实现-CSDN博客
【QT开发笔记-基础篇】| 第二章 常用控件 | 2.8 微调框 QSpinBox_qt2.8-CSDN博客
【QT开发笔记-基础篇】| 第二章 常用控件 | 2.9 滑动条 QSlider_qt 滑动条-CSDN博客
【QT开发笔记-基础篇】| 第二章 常用控件 | 2.10 进度条 QProgressBar_qt进度条控件-CSDN博客