当然,还有其他一种写法可以处理QComboBox的选择事件。你可以使用Lambda表达式来连接信号和槽函数。
以下是另一种示例代码:
#include <QtWidgets>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QMainWindow window;
QComboBox* comboBox = new QComboBox(&window);
comboBox->addItem("Option 1");
comboBox->addItem("Option 2");
comboBox->addItem("Option 3");
QObject::connect(comboBox, qOverload<int>(&QComboBox::currentIndexChanged), [&](int index){
qDebug() << "Selected option:" << index;
});
window.setCentralWidget(comboBox);
window.show();
return app.exec();
}
在这个示例中,我们创建了一个主窗口,并添加了一个包含三个选项的QComboBox对象。通过使用QObject::connect
函数将currentIndexChanged
信号与Lambda表达式相连,当用户选择不同的选项时,会触发Lambda表达式并输出所选选项的索引。
请注意,在这种写法中,我们使用了qOverload<int>(&QComboBox::currentIndexChanged)
来指定连接的信号类型,并通过Lambda表达式捕获所选索引值。
内容由零声教学AI助手提供,问题来源于学员提问