在 Qt 中,可以使用 QComboBox 的 currentIndex() 方法获取当前选中项的索引,然后根据索引进行 switch 调用。将四个选项设置为一个枚举常量,可以使用 int 类型的枚举值来表示不同的模式。

以下是一个示例代码:

enum Mode {
    NoneMode,
    SleepMode,
    DailyMode,
    EnergySavingMode
};

QComboBox* comboBox = new QComboBox;
comboBox->addItem('None');
comboBox->addItem('Sleep Mode');
comboBox->addItem('Daily Mode');
comboBox->addItem('Energy Saving Mode');

// 获取当前选中项的索引
int currentIndex = comboBox->currentIndex();

// 根据索引进行 switch 调用
switch (currentIndex) {
case NoneMode:
    // 处理 NoneMode
    break;
case SleepMode:
    // 处理 SleepMode
    break;
case DailyMode:
    // 处理 DailyMode
    break;
case EnergySavingMode:
    // 处理 EnergySavingMode
    break;
default:
    // 处理未知模式
    break;
}

在这个示例中,我们使用 int 类型的枚举值表示不同的模式,然后根据 QComboBox 的 currentIndex() 方法获取当前选中项的索引,再根据索引进行 switch 调用。

mode 是 QString 类型的情况下,可以使用 QString 的 compare() 方法进行字符串比较,然后根据不同的字符串进行 switch 调用。以下是一个示例代码:

QString mode = comboBox->currentText();

// 根据字符串进行 switch 调用
if (mode.compare('None') == 0) {
    // 处理 NoneMode
} else if (mode.compare('Sleep Mode') == 0) {
    // 处理 SleepMode
} else if (mode.compare('Daily Mode') == 0) {
    // 处理 DailyMode
} else if (mode.compare('Energy Saving Mode') == 0) {
    // 处理 EnergySavingMode
} else {
    // 处理未知模式
}

在这个示例中,我们使用 QString 的 compare() 方法将当前选中的字符串与预定义的字符串进行比较,然后根据不同的字符串进行 switch 调用。

Qt 中使用 QComboBox 枚举常量和字符串进行 Switch 调用

原文地址: https://www.cveoy.top/t/topic/fCYd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录