2

我正在用 Qt 开发一个应用程序。我需要在 /usr/share/applications 位置创建一个文件。以下是我的代码

  QDir::setCurrent("/usr/share/applications");
  QFile launcherFile;
  launcherFile.setFileName("aptana.desktop");
  int status = launcherFile.open(QIODevice::WriteOnly | QIODevice::Text);
  QTextStream stream(&launcherFile);
  stream<<"Create file";
  launcherFile.close();

调试时我没有收到任何错误,但也没有创建文件。我认为这是一个权限问题,因为我登录的用户没有访问此文件夹的权限。我已经看到其他应用程序(例如 Synaptic Manager)在继续访问应用程序之前提示输入管理密码。同样,无论如何我可以弹出对话框询问密码并获取凭据以以root用户身份创建文件?还有什么其他方法可以解决这种情况?

4

1 回答 1

0

我刚刚找到了一种解决一般问题的方法,即请求 root 权限并做某事。Dio3 调用 system() 并将密码传递给 cmd 级别。. 我不知道“通过系统读取文件并使 QT-API 快乐”的方法,但是您可以通过这种方式更改文件权限......但是每个人都对严重的文件执行此操作应该有安全噩梦 :)

于 2012-04-29T16:50:05.700 回答