[英]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.