QComboBox()
을 구성 할 때 모델은 초기에 "비어 있음"(즉, 모델이 연결되지 않음)입니다. QComboBox::setModel()
으로 모델을 지정하면 모델이 첨부됩니다. 이제 QComboBox
모델을 이전 상태 인 "비어 있음"또는 "없음"으로 재설정해야합니다.QComboBox 모델을 none으로 설정하십시오.
cbWaehrung1
이라는 QComboBox와 함께 chbW1
이라는 QCheckBox
이 있습니다. QCheckBox
을 확인하기 전에 모델이 연결되지 않고 QComboBox
이 비어 있습니다. QCheckBox
이 선택되면 QComboBox
의 모델을 wmodel
으로 설정합니다. 이 부분은 작동합니다.
이제 QCheckBox
의 선택을 취소하면 QComboBox
을 이전 상태 (비어 있음)로 되돌리려합니다. 그러나 그것은 단지 비활성화되어 (코드에 의해, 아래 참조), 색인과 텍스트를 유지합니다. 다시 켜면 (QCheckbox
을 확인하십시오.) 이전 값 (색인 및 텍스트)은 계속 표시됩니다.
void MainWindow::on_chbW1_toggled(bool checked)
{
ui->cbWaehrung1->setEnabled(checked);
if (checked) {
// working
ui->cbWaehrung1->setModel(this->wmodel);
ui->cbWaehrung1->setModelColumn(1);
ui->cbWaehrung1->setFocus();
} else {
// not working
ui->cbWaehrung1->clear();
ui->cbWaehrung1->clearEditText();
}
}
나는 또한 시도했다 무언가를
ui->cbWaehrung1->setModel(QAbstractItemModel());
처럼하지만이 컴파일시에 오류가 있습니다 : :이 "다른"부분이 작동하지 않는 것 -
이
는 Qt는 5.6이다invalid cast to abstract class type ‘QAbstractItemModel’ ui->cbWaehrung2->setModel(QAbstractItemModel()); ^
또한 :
는이 작업을 수행 할 수있는 방법 0 모델
을 설정할 수 없습니다
:ui->cbWaehrung1->setModel(0);
이 런타임에 오류가 발생?
감사합니다. 내가 두 번째 버전을 찾는 것처럼 보입니다. upvote 싶지만 내 "평판"이 너무 낮습니다. 기괴한 ;-) – WKarl
답변이 도움이된다면, 투표 용지에 표시된대로 틱 기호를 사용하십시오. 나는 당신이 아직 다른 어떤 것에도 투표 할 수 없더라도 자신의 질문에 대한 대답을 upvote 할 수 없다는 것에 놀랍니다. 최소한 당신은 그러한 해답에 대해 논평 할 수 있습니다. 곧 충분한 명성을 얻으므로 걱정하지 마십시오! –