我正在尝试使用 Qt 编写一个简单的 C++ 代码来获取文件夹的路径。
我从这个答案中得到了代码,并对其进行了一些调整以适应我想要的。我的问题是它标记了我的“this”声明,表示我的类与“QWidget *”参数类型不兼容。
#include <iostream>
#include <qt5/QtWidgets/qfiledialog.h>
using namespace std;
class TCC {
public:
string openFile();
};
string TCC::openFile()
{
QFileDialog::getOpenFileName(this, tr("Open Document"), QDir::currentPath(), tr("Document files (*.doc *.rtf);;All files (*.*)"), 0, QFileDialog::DontUseNativeDialog);
QString filename = QFileDialog::getOpenFileName(
this,
tr("Open Document"),
QDir::currentPath(),
tr("Document files (*.doc *.rtf);;All files (*.*)"));
if (!filename.isNull())
{
qDebug(filename.toUtf8());
}
return filename.toUtf8().constData();
}
int main()
{
TCC tcc;
cout << tcc.openFile();
}
Run Code Online (Sandbox Code Playgroud)