2012-10-31 5 views
3

클릭하지 않고 QComboBox의 기본값을 초기화하려면 어떻게해야합니까? 나는클릭하지 않고 QComboBox의 기본값을 초기화하려면 어떻게해야합니까?

ui->combBox->setCurrentIndex(1); 

과 노력하지만 처음에 값을 읽을 때 나는 불행하게도 얻을 상기 QComboBox가 클릭 된 -1하고 후에 그 값이 1을하게된다.

+1

인덱스를 1로 설정하려고하면 콤보 상자에 2 개 이상의 항목이 있습니까? – tmpearce

답변

0

나는이 문제를 해결했다. ui->combBox->setCurrentIndex(1);은 생성자 앞에있었습니다. connect(ui->combBox,SIGNAL(currentIndexChanged(int)) .... @Nikos C. 좋은 팁을 주셔서 대단히 감사드립니다.

5

QComboBox에 적어도 두 개의 값이 있습니까? 첫 번째 값을 선택합니다 카운팅이되지 1. 0에서 시작, 당신이 필요 : 그게 문제가 아니라면

ui->combBox->setCurrentIndex(0); 

, 당신은 실제로 콤보 상자에 두 개의 값을 가지고, 다음 확인 있는지 확인 ui가 먼저 설정되었습니다. 이 호출은 먼저 실행해야합니다 :

ui->setupUi(this); 

실제로는 콤보 상자를 .ui 파일에 지정된 값으로 채 웁니다.

+0

예, 확실합니다. MainWindow.ui 파일에 true (1) 및 false (0) 값이 정의되어 있습니다. 그리고 생성자에서 나는 값을 설정하려고합니다 -> combBox-> setCurrentIndex (1); –

+0

MainWindow의 값을 true (1) 또는 false (0)로 설정하면 올바르게 작동하지만 클릭하기 전에 QComboBox의 값을 읽으면 ** - 1 ** : (( –

+0

Are 당신은 ui가 설정되기 전에 인덱스 1을 선택하려합니까? 즉, uu> setupUi (this);가 생성자에서 호출하기 전에? –

관련 문제