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();
}
觉得有帮助的话,打赏一下呗。。