原文:QFile file("/home/casper/QuickRecorder/about_content.txt");
(工作)
我试过了:
"about_content.txt"
"/about_content.txt"
"~/about_content.txt"
"./about_content.txt"
"QuickRecorder/about_content.txt"
"/QuickRecorder/about_content.txt"
"~/QuickRecorder/about_content.txt"
"~/QuickRecorder/about_content.txt"
没有人工作。= [
我的问题
以下是整个代码:
About::About(QWidget *parent) :
QDialog(parent),
ui(new Ui::About)
{
ui->setupUi(this);
this->setFixedSize(this->width(),this->height());
QFile file("/home/casper/QuickRecorder/about_content.txt");
if ( !file.open(QIODevice::ReadOnly) )
QMessageBox::information(0, "Error", file.errorString());
QTextStream content(&file);
ui->aboutContentBrowser->setText(content.readAll());
}
参考:QT C++ GUI Tutorial 27- How to read text file and display file to a textbrowser or textEdit
感谢您的帮助。
答案 0 :(得分:4)
如果您将文件about_content.txt
放在构建目录中,则可以使用:
about_content.txt
./about_content.txt
如果您必须从此路径/home/casper/QuickRecorder/about_content.txt
如果您想使用相对路径
看看relative path vs absolute path的不同之处。因此,如果您将文件放置到/home/casper/QuickRecorder/about_content.txt
并且您确切知道您的构建目录是/home/casper/app-build
- 那么您可以使用相对路径../QuickRecorder/about_content.txt
看看QDir
课程。它已经包含许多有用的方法。
如果您要将文件放入资源
这个程序非常简单。只需为项目添加资源,然后根据The Qt Resource System将文件添加到资源中。例如,您可以将文件about_content.txt
添加到.qrc
文件,并以这种方式在您的程序中使用它:QFile file(":/about_content.txt");
。
答案 1 :(得分:1)
您可以使用静态函数QDir::homePath()获取用户主目录的路径。
QString homePath = QDir::homePath();
QFile file(homePath + "/QuickRecorder/about_content.txt");
...