Core Sınıfları
Eren BAŞTÜRK
[email protected]
www.erenbasturk.com
Giriş
Qt Dizin Olayları
Qt Degişkenler
Qt Container Sınıfı
Qt Dosya Olayları
Qt Core
Dizin İşleme Sınıfları
Unicode duyarlı dizin ve karakter sınıfları
Qt uygulamalarında sürekli olarak kullanılır
Dizinler için hazırlanmış statik fonksiyonlar
Konteyner Sınıfları
Yaygın konteyner: lists, sets, maps, arrays,...
Stl ve java tarzı yineleyiciler
Dosya İşleme Sınıfları
Dosya yazma ve okuma
Dosya ve metin işlemleri
Degişkenler
Temel değişkenler
Qt Dizin Olayları Giriş
Qt Dizin Olayları
Qt Degişkenler
Qt Container Sınıfı
Qt Dosya Olayları
Qstring İle Metin İşleme
Qt Dizin Olayları
Dizin tanımlama degişkenleri
QString str(“abc”);
str = "def";
Statik fonksiyon ile sayı tanımlama
QString n = Qstring::number(1234);
Statik fonksiyonları kullanarak karakter işemleri
QString text = QString::fromLatin1("Hello Qt");
QString text = QString::fromUtf8(inputText);
QString text = QString::fromLocal8Bit(cmdLineInput);
Qstring İle Metin İşleme
Qt Dizin Olayları
Operatörlerin kullanımı ile (+,+=)
QString str = str1 + str2;
Dosyaadı += ".txt";
left(), mid(), right()
leftJustified(), rightJustified()
QString s = "armut";
QString t = s.leftJustified(8, ’.’); // t == "armut..."
Qstring İle Metin İşleme
Qt Dizin Olayları
Dizelerden veri elde edilebilir
Sayılar
int value = QString::toInt();
float value = QString::toFloat();
Dizeler
QString text = ...;
QByteArray bytes = text.toLatin1();
QByteArray bytes = text.toUtf8();
Qstring İle Metin İşleme
Qt Dizin Olayları
QbyteArray ile verilerlele ilgili işlemler yapabilirsiniz
char *str = bytes.data();
const char *str = bytes.constData();
Not:
Karakter verilerini ya da karakter verilerinin byte olarak
kopyasını tutabilirsiniz.
Qstring İle Metin İşleme
Qt Dizin Olayları
Diziler İle Kullanılabilecek Fonksiyonlar
Length()
endsWith() ve startsWith()
insert()
fill()
indexOf() ve lastIndexOf()
Qstring İle Metin İşleme
Qt Dizin Olayları
QString::split() and QStringList::join()
QStringList::replaceInStrings()
QStringList::filter()
Url
Qt Dizin Olayları
Url'ler için Qurl kullanılır
QUrl url("http://qt.nokia.com");
url.scheme() // http
url.host(); // qt.nokia.com
ftp://eren:[email protected]:2021
Qt Dosya Olayları Giriş
Qt Dizin Olayları
Qt Degişkenler
Qt Container Sınıfı
Qt Dosya Olayları
Dosyalar İle Çalışma
Qt Dosya Olayları
Kural
Taşınabilir dosyalar için yerel fonksiyonlar kullanmamalıyız
( Open(), CreateFile() )
Dosya İşleme
QFile
Veri okuma ve yazma arayüzü
Inherits QIODevice (Tüm I/O içeren cihazlar için temel bir sınıf)
QTextStream
QDataStream
QFileInfo
QDir
Dosya Okuma/Yazma
Qt Dosya Olayları
QTextStream ile yazma
QFile dosya("deneme.txt");
if (dosya.open(QIODevice::WriteOnly)) {
QTextStream stream(&dosya);
stream << "Merhaba Dunya " <<;
file.close();}
QTextStream ile okuma
QString yazi; int sayi;
QFile file("deneme.txt");
if (dosya.open(QIODevice::ReadOnly)) {
QTextStream stream(&dosya);
stream >> yazi >> sayi; }}
Metin ve Kodlama
Qt Dosya Olayları
QTextstream
Metin dosyalarına yazma
Byte kodlama ve metin düzenleme
C++ fonksiyonlarından kullanışlı
Alternatif dosya okuma yolları
QFile::readAll()
QFile::readLine(maxlen)
QTextStream::readAll()
QTextStream::readLine(maxlen)
Dosya Okuma/Yazma
Qt Dosya Olayları
QDataStream Sınıfı
QTextStream alternatifidir.
Veriler hakkında ekstra bilgi
Taşınabilirlik (Donanım ve işletim sistemi)
İnsanlar okuyamaz
QFile file("dosya.dat");
if (dosya.open(QIODevice::WriteOnly)) {
QDataStream out(&dosya);
out << "Mavi";
out << QColor(Qt::blue); }
Kullanışlı Dosya Metotları
Qt Dosya Olayları
QFileDialog
QFileDialog::getExistingDirectory()
QFileDialog::getOpenFileName()
QFileDialog::getSaveFileName()
Kullanışlı Dosya Metotları
Qt Dosya Olayları
Dosya İşlemleri
QFile::exists(DosyaAdı)
QFile::rename(EskiAd, YeniAd)
Qfile::copy(EskiAd, YeniAd)
Qfile::remove(DosyaAdı)
Dizin Bilgisi
QDir::tempPath()
QDir::home()
QDir::drives()
Son
Teşekkürler
Download

07. Core Sınıfları