Файл создаётся, но считывание названия происходит до его введения в LineEdit
Считывание происходит, только происходит оно из поля формы класса MyClass (которое не выведено на экран, не заполнено и, соответственно, пустое), а вводите значение Вы в поле формы класса MainWindow.
Проще всего сделать так:
Class MyClass : public QMainWindow
{
Q_OBJECT
public:
Ui::MainWindow *ui = new Ui::MainWindow;
public slots:
void newSlot(QString fileName)
{
QFile file(fileName.toUtf8()+”.txt”);
if (file.open(QIODevice::WriteOnly)){
QString r=QFileInfo(fileName.toUtf8()+“.txt”).absolutePath();
QTextStream out (&file);
out<<r.toUtf8()<<endl;
}
file.close();
}
};
и в mainwindow.cpp связать сигнал со слотом так:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui (new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, &QPushButton::clicked, this, [this](){
q.newSlot(ui->lineEdit->text());
});
};