내 프로젝트에는 listWidget이 있습니다. 사용자가 목록의 항목을 클릭하면로드됩니다.Qt listWidget 항목을 두 번 클릭하면 오류가 발생합니다.
void BlockSelect::on_blockList_clicked(const QModelIndex &index)
{
QString blockListName;
QString temp_hex;
QString temp_hex2;
int temp_int;
QListWidgetItem *newitem = ui->blockList->currentItem();
blockListName = newitem->text();
temp_hex = blockListName.mid(0, blockListName.indexOf(" "));
if(temp_hex.indexOf(":") == -1)
{
temp_int = temp_hex.toInt();
ui->blockIdIn->setValue(temp_int);
ui->damageIdIn = 0;
}
else
{
temp_hex2 = temp_hex.mid(temp_hex.indexOf(":")+1, temp_hex.length()-(temp_hex.indexOf(":")+1));
temp_hex = temp_hex.mid(0, temp_hex.indexOf(":"));
temp_int = temp_hex.toInt();
ui->blockIdIn->setValue(temp_int);
temp_int = temp_hex2.toInt();
ui->damageIdIn->setValue(temp_int);
}
}
대부분이 단지 문자열 조작입니다. (이 구문이나 다른 것을 공부할 필요가 없습니다.)
내 문제는 사용자가 다른 목록 항목을 빠르게 클릭하면 (현재 프로세스가 완료되기 전에) 프로그램이 충돌합니다. 빠른 클릭 (한 번에 여러 프로세스) 또는 대체 솔루션을 허용 할 수있는 방법이 있습니까?
감사합니다.
이 질문은 오타에 대한 것입니다. 질문이나 대답은 질문자 이외에는 도움이되지 않습니다. 일부 이론적 근거는 [this meta post] (http://meta.stackexchange.com/questions/167342/close-all-the-typo-questions)를 참조하십시오. –