Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

C++ без Qt



  • Добрый Д.У.Н. У меня задание.
    Реализация “бизнес-логики” и интерфейсной части должны быть разделены. Модуль
    “бизнес-логики” обеспечивает чтение из файла, расчеты и т.п. Он должен быть написан
    в структурном стиле, и иметь единую точку входа. В модуле “бизнес-логики” можно
    использовать только стандартные возможности C++ (без Qt). Модуль интерфейса
    может использовать классы Qt, никаких вычислений в нем производиться не должно,
    он отвечает за визуализацию и передачу управляющих сигналов.
    Не могу понять что требуется.
    Мне надо создать два файла *.cpp в одном сделать интерфейс в другом расчет? Когда я так делаю не могу передать рассчитанное значение в форму. Например: я из файла читаю строки и помещаю их в массив затем хочу вывести в label одну из строк этого массива и когда пишу : ui->label->setText(CSVfile[34]); у меня ошибка: C:\Users\lmpdi\Documents\LR2\mainwindow.cpp:55: ошибка: no matching function for call to 'QLabel::setText(std::__cxx11::string&)'
    ..\LR2\mainwindow.cpp: In member function 'void MainWindow::on_pushButton_clicked()':
    ..\LR2\mainwindow.cpp:55:37: error: no matching function for call to 'QLabel::setText(std::__cxx11::string&)'
    ui->lbltest->setText(CSVfile[34]);
    Что мне с этим делать. Задание надо сделать в Qt

    Вот код функции
    ^

    void MainWindow::on_pushButton_clicked()
    {
        setlocale(LC_ALL, "ru");
        string CSVfile[2381];
        string path = "russian_demography.csv";
        ifstream fileIn;
        fileIn.open(path);
        if (!fileIn.is_open())
        {
            ui->lbltest->setText("Файл не открыт");
        }
        else
        {
            ui->lbltest->setText("Файл открыт");
            string str;
            int n = 0;
            while (!fileIn.eof())
            {
                str = "";
                getline(fileIn, CSVfile[n]);
                n++;
            }
        }
        fileIn.close();
        char znach;
        ui->lbltest->setText(znach);
    }
    

  • Lifetime Qt Champion

    @DimanLM

    ui->lbltest->setText(QString::fromStdString(CSVfile[34]));
    

Log in to reply