CheckBox



  • Witam, mam problem z zapisaniem do pliku kilku odpowiedzi z checkBox-a.

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include "QMessageBox"
    #include "QFile"
    #include "QTextStream"
    #include "QtGui"
    #include "QtCore"

    MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    ui->setupUi(this);

    }

    MainWindow::~MainWindow()
    {
    delete ui;

    }

    void MainWindow::on_pushButton_2_clicked()

    {
    if (ui->checkBox -> isChecked())
    {

    QFile file("ankiet.txt");
        QString str = "Przegladam strony internetowe   ";
         if(file.open(QIODevice::WriteOnly))
        {
            QTextStream out(&file);
            out.setCodec("UTF-8");
    
            out <<str;
            file.close();
        }
    

    }

    if (ui->checkBox_2 -> isChecked())
    {

    QFile file&#40;"ankiet.txt"&#41;;
        QString str = "Korzystam z poczty elektronicznej ";
         if(file.open(QIODevice::WriteOnly))
        {
            QTextStream out(&file);
            out.setCodec("UTF-8");
    
            out <<str;
            file.close();
        }
    

    }

    if (ui->checkBox_3 -> isChecked())
    {

    QFile file&#40;"ankiet.txt"&#41;;
        QString str = "Przeglądam serwisy informacyjne ";
         if(file.open(QIODevice::WriteOnly))
        {
            QTextStream out(&file);
            out.setCodec("UTF-8");
    
            out <<str;
            file.close();
        }
    

    }
    .
    .
    .
    .
    .

    if (ui->checkBox_10 -> isChecked())
    {

    QFile file&#40;"ankiet.txt"&#41;;
        QString str = "Przeglądam .... ";
         if(file.open(QIODevice::WriteOnly))
        {
            QTextStream out(&file);
            out.setCodec("UTF-8");
    
            out <<str;
            file.close();
        }
    

    }

    dlaczego zapisuje mi tylko jedna odpowiedz albo nie zapisuje i pozostaje stara odpowiedz??


  • Moderators

    Domyślny tryb otwierania plików to Truncate. Dodaj QIODevice::Append do flag otwarcia pliku. Przy okazji dobrze jest też dodać QIODevice::Text, wtedy Qt wie lepiej, czego się spodziewać.

    Aha, postując na tym forum, otaczaj kod tagami '@'.

    Przykład otwarcia pliku:
    @
    QFile file(“ankiet.txt”);
    QString str = “Przeglądam …. “;
    if(file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append)) {
    QTextStream out(&file);
    out.setCodec(“UTF-8”)
    out <<str; file.close();
    }
    @


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.