![](/img/trans.png)
[英]How create CurrentIndexChanged signal for QAbstractListModel in qt?
[英]QT - How to get SIGNAL “currentIndexChanged” from QVector<QComboBox*>
我想从选定的QComboBox获取QString文本。 当我在QComboBox上选择索引时,我想从所选索引中获取QString,然后单击QcomboBox上的所需索引。
我已经研究过了
但还没有找到解决方法,
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;
});
我该怎么办?
我看到信号语法缺少函数输入参数。
以下是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 */ });
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.