31 Mart 2017 Cuma

QT NOTES

Prepend ve Append Farkı : 

Prepend: Başa Ekle

Append : Sona Ekle



qDEbug ve NOSPACE özelliği 
int a = 10 , b=20 ;

qDebug() << a << b;

çıktı : 10 20

eğer arada boşluk istemezsek  nospace kullanırız

 qDebug().nospace << a << b;

çıktı : 1020


QVEKTOR  SINIFI :


int main()
{
    QVector<int> vect;

    vect << 10 << 20 << 30 << 40 << 50;

    qDebug() << vect;     // QVector(10, 20, 30, 40, 50)

    return 0;

}

Sınıfın clear üye fonksiyonu vektör içerisindeki tüm elemanları siler. empty fonksiyonu vektörün içinin boş olup olmadığını bize verir. erase ile elemanlar silinebilir. first fonksiyonu ve front fonksiyonu ilk elemanı, last fonksiyonu da son elemanı vermektedir. indexOf ve lastIndexOf fonksiyonlarıyla vektör içerisinde arama yapılabilir. removeAt belli bir indeksteki elemanı silmek için kullanılır.



QBYTEARRAY  :

QByteArray qba(100, 0);     // nesnenin içerisinde 100 byte var, hepsi 0


- clear üye fonksiyonu yine nesne içerisindeki tüm byte’ları silmek için kullanılır.

- insert fonksiyonlarıyla belli bir pozisyone insert yapılabilir.

- indexOf fonksiyonları arama amacıyla kullanılır.

- Nesnenin içerisindeki belli bir kısım mid fonksiyonuyla çekilip alınabilir. 
- Nesnenin başına ekleme yapmak için prepend fonksiyonları kullanılır.

- Kapasite artımı için reserve, size artırımı için resize fonksiyonları kullanılmaktadır.

- Sınıfın setNum fonksiyonları nesnenin içerisine çeşitli türendne değerleri byte nyte kodlar. Fakat bu fonksiyonlar sona ekleme yapmazlar.




    QByteArray qba;
    int a = 1234;

    qba.setNum(a);    // byte'larına ayrıştırıp 4 byte olarak ekler.



qint64 QIODevice::read(char *data, qint64 maxSize);
QByteArray QIODevice::read(qint64 maxSize);
QByteArray QIODevice::readAll();

Bu fonksiyonlar dosya göstericisinin gösterdiği yerden itibaren parametreleriyle belirtilen miktarda byte değerini okur. İki parmetreli read fonksiyonu okunan bilgileri bizim verdiğimiz char türden bir adresten itibaren yerleştirir. Tek parametreli read fonksiyonu ise okunan bilgileri QByteArray olarak vermektedir. readAll fonksiyonu dosya göstericisinin gösterdiği yerden dosya sonuna kadar tüm byte’ları okumaktadır.


qint64 QIODevice::write(const char *data, qint64 maxSize);
qint64 QIODevice::write(const char *data);
qint64 QIODevice::write(const QByteArray &byteArray);

Birinci fonksiyon belli bir adresten itibaren belli sayıda byte’ı dosya göstericisinin gösterdiği yerden itibaren dosyay yazar. İkinci fonksiyon bir yazıyı null karakter görene kadar byte byte dosyaya yazmaktadır. Üçüncü fonksiyon QByteArray içerisindekileri dosyay yazar. 


QFİLEDİALOG:

QFileDialog fileDialog(this, "Bir dosya seçiniz");

Diayalog penceresi belli bir dizinle de açılabilir:

QFileDialog fileDialog(this, "Bir dosya seçiniz", "c:\\windows");

QFileDialog sınıfının setFilterNames fonksiyonu bizden filtreleme bilgilerini bir QStringList nesnesi olarak alır. Her filtreleme yazısı bir yazı ve parantez içerisinde joker karakterlerinden oluşmaktadır. Örneğin:

QFileDialog fileDialog(this, "Bir dosya seçiniz", "c:\\windows");

QStringList filters;
filters << "All File (*.*)" << "Text Files (*.txt)";
fileDialog.setNameFilters(filters);

if (fileDialog.exec() == QFileDialog::Accepted) {
    qDebug() << fileDialog.selectedFiles()[0];
}

Biz  setFileMode fonksiyonuyla diyalog penceresinde yalnızca dizinlerin gösterilmesini sağlayabiliriz. Örneğin:

QFileDialog fileDialog(this, "Bir dosya seçiniz", "c:\\windows");
fileDialog.setFileMode(QFileDialog::DirectoryOnly);




S
ı
n
ı
f
ı
n indexOf üye fonksiyonlar
ı
yaz
ı
içerisinde bir yaz
ı
ya da karakter ararlar. E
ğ
er bulurlarsa bulduklar
ı
yerin yaz
ı
erisindeki indeks numaras
ı
yla bulamazlarsa -1 de
ğ
eri ile geri dönerler.
S
ı
n
ı
f
ı
n indexOf üye fonksiyonlar
ı
yaz
ı
içerisinde bir yaz
ı
ya da karakter ararlar. E
ğ
er bulurlarsa bulduklar
ı
yerin yaz
ı
erisindeki indeks numaras
ı
yla bulamazlarsa -1 de
ğ
eri ile geri dönerler.
Share: