QTが新しくなったので、ここで何か間違ったことをしていると私は失礼ですが、ここではすべての質問を見てきましたが、見えません動作するものを見つけること。私は、ユーザーに名前を入力してフォルダを作成させようとしています。名前を持つフォルダを作成しています。名前を入力する前にフォルダを最初に "project"という名前にし、名前を入力すると名前を変更します。しかし、私はそれがここに私のコードです私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 *'引数が2つ必要ですが、 'projectPath'と' name'は 'QString'型です。 'projectPath.toLatin1()。data()'を引数として使うことができます。次回は関連するすべての関数宣言、つまりこの場合は 'rename'メソッドを含めて、より速く手助けできるようにする必要があります。 – bkausbk