小编Vin*_*eda的帖子

尝试使用 Qt 打开文件对话框

我正在尝试使用 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)

c++ qt visual-c++

2
推荐指数
1
解决办法
1925
查看次数

标签 统计

c++ ×1

qt ×1

visual-c++ ×1