在 Qt 中,可以使用QComboBoxcurrentText()函数来获取当前选中的文本,然后使用QStringcompare()函数来比较字符串。根据选中的文本进行switch调用。

为了方便管理和使用,可以定义一个枚举常量来表示不同的模式:

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

然后,可以使用以下代码来获取当前选中的模式并进行switch调用:

QString modeText = ui->comboBox->currentText();
Mode mode;

if (modeText.compare("无") == 0) {
    mode = None;
} else if (modeText.compare("睡眠模式") == 0) {
    mode = SleepMode;
} else if (modeText.compare("日常模式") == 0) {
    mode = DailyMode;
} else if (modeText.compare("节能模式") == 0) {
    mode = EnergySavingMode;
}

switch (mode) {
    case None:
        // 无模式的处理逻辑
        break;
    case SleepMode:
        // 睡眠模式的处理逻辑
        break;
    case DailyMode:
        // 日常模式的处理逻辑
        break;
    case EnergySavingMode:
        // 节能模式的处理逻辑
        break;
    default:
        // 默认处理逻辑
        break;
}

使用枚举常量可以使代码更易读和维护。mode的类型是Mode

Qt 中使用 QComboBox 和 枚举常量实现 Switch 语句调用

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

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