2014-10-15 3 views
0

콤보 상자에는 세 가지 옵션이있는 입력 대화 상자 (Qt)가 있습니다. 콤보 박스에서 선택한 항목에 따라 다른 작업을 시작하려고합니다. 지금, 나는콤보 상자의 항목 선택에 따라 QInputDialog 동작

QInputDialog qDialog ; 

QStringList items; 
items << QString("Choice 1"); 
items << QString("Choice 2"); 
items << QString("Choice 3"); 

qDialog.setOptions(QInputDialog::UseListViewForComboBoxItems); 
qDialog.setComboBoxItems(items); 
qDialog.setWindowTitle("Choose action"); 

QObject::connect(&qDialog, SIGNAL(textValueChanged(const QString &)), 
      this, SLOT(onCompute(const QString &))); 

qDialog.exec(); 

이 슬롯 oncompute는 콤보 상자에서 선택한 항목에 따라 다른 작업을 수행해야하지만 사용자가 없습니다 확인을 클릭에, 상자에 새 항목을 선택할 때이라고 .

콤보 상자에서 선택한 항목을 검색하고 확인을 클릭하여 작업을 수행하려면 어떻게해야합니까?

답변

1

textValueChangedtextValueSelected으로 바꿉니다. 모달 대화 결과를 처리

0

일반적인 방법은 이것이다 :

QInputDialog qDialog; 
... 
if (qDialog.exec()) 
{ 
    onCompute(qDialog->textValue()); 
} 

당신은 과정을 결과를 클릭하거나되지 않은 결과를 기다리고 무엇을 맞댈 따라 (확인 또는 취소) 대화 상자를 실행합니다.

관련 문제