のねのBlog

パソコンやソフト開発で起きた問題など書きます。よろしくお願いします。

QT5 ファイルが開けない

QDir::currentPath()でパスを取得したが、開けなかった。

QCoreApplication::applicationDirPath()に変えたら開けるようになった。

stackoverflow.com

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QMessageBox>
#include <QTextCodec>

#define TR(s) (QString::fromLocal8Bit(s))

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
//    QDir dir = QDir::currentPath();
    QString path = QCoreApplication::applicationDirPath();

    QString fileName = path +"/org.ttf";
    if (fileName.isEmpty())
    {
    }   else {
        QFile file(fileName);
        if (!file.open(QIODevice::ReadOnly))
        {
               QMessageBox::information(
                    this, TR("Unable to open file:\n"), file.errorString()+"\n"+fileName);
        }
    }

    QString str01 = path;
    ui->label01->setText(str01);
    ui->label02->setText(TR("012345 あいうえお 美しいフォント"));
    ui->label03->setText(TR("ヤマト、最大180円値上げ=基本運賃、27年ぶり"));

    QString str11 = path;
    ui->label01->setText(str11);
    ui->label12->setText(TR("012345 あいうえお 美しいフォント"));
    ui->label13->setText(TR("ヤマト、最大180円値上げ=基本運賃、27年ぶり"));
 }