qt QComboBox详解
QComboBox是一个下拉选择框控件,用于从多个选项中选择一个。通过掌握QComboBox 的用法,你将能够在 Qt 项目中轻松添加和管理组合框组件,实现复杂的数据选择和交互功能。
重要方法
- addItem(const QString &text):将一个项目添加到组合框中。
- addItems(const QStringList &texts):将一系列项目添加到组合框中。
- removeItem(int index):删除指定位置的项。
- clear():清空下拉列表中的所有项。
- setCurrentIndex(int index):设置当前选中的项目的索引。
- setCurrentText(const QString &text):设置当前选中的项目的文本。
- findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly):返回与给定文本匹配的第一个项目的索引。
- setModel(QAbstractItemModel *model):设置组合框的模型,模型提供了组合框中的项目。
- setEditable(bool editable):设置组合框为可编辑状态。
- setValidator(const QValidator *v):为可编辑的QComboBox设置输入验证器。
重要信号
- currentIndexChanged(int index):当当前选项改变时发射,参数为新的索引。
- currentIndexChanged(const QString &text):当当前选项改变时发射,参数为新的文本。
- activated(int index):当用户选择某个选项时发射,参数为选择的索引。
- activated(const Qstring &text):当用户选择某个选项时发射,参数为选择的文本。
#include <QApplication>
#include <QMainWindow>
#include <QComboBox>
#include <QVBoxLayout>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QMainWindow window;
window.setWindowTitle("QComboBox Example");
// 创建一个QComboBox实例
QComboBox *comboBox = new QComboBox(&window);
// 添加一些项到组合框
comboBox->addItem("Item 1");
comboBox->addItem("Item 2");
comboBox->addItem("Item 3");
// 设置可访问性名称以提高辅助功能
comboBox->setAccessibleName("ComboBoxExample");
// 可选设置自动完成功能
comboBox->setAutoCompletion(true);
// 设置焦点策略
comboBox->setFocusPolicy(Qt::StrongFocus);
// 将QComboBox添加到窗口布局中
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(comboBox);
QWidget *centralWidget = new QWidget(&window);
centralWidget->setLayout(layout);
window.setCentralWidget(centralWidget);
// 显示主窗口
window.show();
return app.exec();
}
觉得有帮助的话,打赏一下呗。。