我想从选定的QComboBox中获取QString文本。当我在QComboBox上选择索引时,我想在QcomboBox上单击所需的索引后,从所选索引中获取QString。
我已经研究过这个,
但尚未找到解决问题的方法,
QVector<QComboBox*> cboxes;
for (int i =0; i< 40 ; i++)
{
QComboBox *box = new QComboBox();
cboxes.append(box);
}
for(int i = 0; i < 40; i++)
{
connect(cboxes[i], SIGNAL(currentIndexChanged(const QString &text)), this, SLOT(comboBoxAdjusted_Changed(QString)));
}
comboBoxAdjusted_Changed函数
void DialogSettings::comboBoxAdjusted_Changed(QString text)
{
std::cout << text.toStdString() << endl;
}
我有尝试,但每次我更改组合框索引时,都不会给出输出。
for (int i =0; i< 40 ; i++)
{
connect(cboxes[i], static_cast<void(QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
[=](const QString &text){
std::cout << text.toStdString() << endl;
});
我该怎么办?
答案 0 :(得分:2)
我看到信号语法缺少函数输入参数。
以下是currentIndexChanged
void currentIndexChanged(int index)
void currentIndexChanged(const QString &text)
如果您需要处理index
,请尝试以下操作。
for(int i = 0; i < 40; i++)
{
connect(cboxes[i], static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),[=](int index){ /* YOUR CODE */ });
}