به نام خدا

سلام

چند وقته که رفتم سراغ کار با برنامه QT حالا یه چندتا چیزه جدید یاد گرفتم اومدم بزارم بعدا استفاده کنم :)

خوب اولین چیز اینه که چطور برنامه انتخاب فایل رو بازکنیم (پنجره ای که مثلا میخوای فایل آپلود کنی باز میشه)

برنامه باز کردن پنجره انتخاب فایل در QT

خوب یه دکمه درست کنید و توی slot کیکش کد زیر رو وارد کنید

    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
    "",
    tr("Files (*.txt)"));
    ui->lineEdit->setText(fileName);

همچنین هدر فایل های زیر رو هم اضافه کنید!

#include <QFile>
#include "QFileDialog"
#include  "QTextStream"

خوب به همین راحتی...!

حالا مقدار fileName آدرس فایل رو نشون میده!


کار کردن با فایل ها

خوب برای کار کردن با فایل ها باید دو هدر زیر رو به برنامه اضافه کنید!

#include <QFile>
#include  "QTextStream

بعدش باید از کد زیر استفاده کنید!

QFile file(c:/ali.txt);

الان متغییر file به اون فایل ما اشاره میکنه!

و برای نوشتن و خواندن در فایل از کد زیر استفاده میکنیم!

    if (file.open(QIODevice::ReadWrite | QIODevice::Text))
    {
        QString text = file.readAll();
        file.write("Salam be hame");
        file.close();
    }

الان تکه کد بالا فایل ما رو قابل خواندن و نوشتن قرار میده و شما میتونید فقط قابل خوندن یا فقط قابل نوشتن قرارش بدید!

خط سوم تمام متن موجود در فایل رو در text قرار میده و شما میتونید بعدا از محتویات text که همون محتویات فایل متنی هست استفاده کنید!

خط بعدی در فایل ما متن Salam be hame رو مینویسه و در نهایت خط بعدی فایل رو میبنده!


نوشتن یک متغییر استرینگ در فایل

اگه دقت کنید میبینید اگه بخواید یه متغییر رو توی فایل بنویسید ازتون ارور میگیره! 

برای اینکار باید از کد زیر استفاده کنید!

if (file.open(QIODevice::ReadWrite | QIODevice::Text))
    {
        text = file.readAll();
        QTextStream stream(&file);
        stream << text << endl;
        file.close();
    }

الان کد بالا متنی رو که داخل فایل متنی نوشته بود رو کپی میکنه و دوباره مینویسه! یعنی بعد از اجرای این کد شما در فایل txt تون دوبار متنتون تکرار شده!


فعلا

یا علی مدد...!