0
與外部連通編輯我Mac OS X上問題的Qt4
我使用這個代碼適於從C++編程使用Qt 4,第2版編寫的命令行腳本的Qt4(使用QCoreApplication)。頁。 313:
QTemporaryFile outFile;
if (!outFile.open())
return;
QString fileName = outFile.fileName();
QTextStream out(&outFile);
out << initial_text;
outFile.close();
QProcess::execute(editor, QStringList() << fileName);
QFile inFile(fileName);
if (!inFile.open(QIODevice::ReadOnly))
return;
QTextStream in(&inFile);
QString text = in.readAll();
std::cout << text.toStdString() << std::endl;
當上述運行與編輯器被設置爲「在/ usr /斌/ VIM」,「Vim:警告:輸入是不是從終端」被印刷,然後VIM啓動與的初始文本(字符串initial_text);但是,我無法編輯或退出,因爲按下escape鍵會在光標位置打印一個藍色^ [與其他所有鍵相似。
當編輯器被設置爲「/ Users/jason/bin/mate」(TextMate命令行工具)時,TextMate將啓動,不帶的初始文本。我可以編輯和保存文檔,當我退出時,應用程序讀入初始文本(應該被覆蓋)。
我很困惑,因爲這段代碼是在印刷書籍中,所以它應該工作。我爲編輯器變量使用了錯誤的字符串嗎?
我發現你必須執行「mate -w」來等待文件被關閉。 – titaniumdecoy 2009-10-22 21:15:16