我正在编写一个小工具来处理XML文件。它用Qt用C ++编写。
使用我使用的编辑器打开此类文件:
QDesktopServices::openUrl(QUrl::fromLocalFile(file.xml))
下一步是打开该XML文件并跳转到特定行。我尝试使用ShellExecute
:
ShellExecute (NULL, "open", "Notepad.exe", "path.xml -l 200", NULL, SW_SHOWNORMAL);
然而,它没有用。上面的行打开文件path.xml
,但不会在第200行打开。我尝试使用VIM
而不是记事本,结果相同。我的错误在哪里?
感谢您的帮助。
答案 0 :(得分:1)
我会按以下方式(Windows)执行此操作:
QProcess proc;
proc.startDetached("C:\\Program Files (x86)\\Notepad++\\Notepad++",
QStringList() << "file.xml" << "-n 2000");
上面的代码打开了一个Notepad ++应用程序实例,加载了file.xml文件并滚动到打开文件的第2000行(-n command line switch)。