저는 QT에 익숙하지 않으므로, 여기에 맹목적으로 뭔가 잘못하고 있다면 실례합니다. 그러나 여기에있는 모든 질문을 보았지만 보일 수는 없습니다. 작동하는 것을 찾아야한다. 사용자가 이름을 입력하여 폴더를 만들도록 시도하고 있으며 이름이있는 폴더를 만듭니다. 나는 이름을 입력하기 전에 정확하게 "프로젝트"라는 폴더를 만들고, 이름을 입력하면 이름을 바꿉니다. 내가 입력 된 이름을 가진 폴더를 시도하고 이름을 바꿀 때, 그것은 여기 나에게QString을 Const Char로 변환 할 수 없습니다. *
error:C2664: 'int rename(const char *,const char *)' : cannot convert argument 1 from 'QString' to 'const char *'
를 제공 내 코드입니다 : 너희들은 도움이 될 수 있다면
void MainWindow::on_actionNew_Project_triggered(const char *parameter)
{
//Create project folder
QString projectPath = "D:/Project";
QDir dir(projectPath);
if (!dir.exists()) {
dir.mkpath(projectPath);
}
//Get project name from user
bool result;
QString name = QInputDialog::getText(0, "New Project",
"Enter in project name", QLineEdit::Normal,
"", &result);
if(result && !name.isEmpty()) {
//Rename project folder to user created name
QDir dir(projectPath);
if (dir.exists()) {
rename(projectPath, name); //Gives me error HERE
}
}
}
내가 그것을 감사하겠습니다, 난에 붙어 있었어요 이 시간 동안.
이 질문은 [MCVE] (http://stackoverflow.com/help/mcve)가 포함되어 있지 않습니다. – MrEricSir
컴파일러 오류로 상태가 두 가지'const char *'인수가 필요하지만'projectPath'와'name'은'QString' 유형입니다. 'projectPath.toLatin1(). data()'가 인수로 사용될 수 있습니다. 다음 번에 모든 관련 함수 선언 즉,이 경우 rename 메소드를 포함시켜야 더 빨리 처리 할 수 있습니다. – bkausbk