http___qt-project.org_wiki_Category_GlobalTanimlamalar_1.xml
1.1 1.2 2.1 3.1 4.1 4.2 5.1 6.1 6.2 6.3 7.1 8.1 8.2 9.1 10.1 11.1 12.1 12.2 12.3 12.4 13.1 14.1 15.1 16.1 17.1 18.1 19.1 19.2 20.1 21.1 22.1 23.1 25.1 26.1 27.1 27.2 27.3 27.4 28.1 29.1 29.2 29.3 30.1 30.2 30.3 31.1 32.1
The   header file includes the fundamental global declarations. It is included by most other Qt header files. - #include  > Detailed Description The   header file includes the fundamental global declarations. It is included by most other Qt header files. The global declarations include types, functions and macros. The type definitions are partly convenience definitions for basic types (some of which guarantee certain bit-sizes on all platforms supported by Qt), partly types related to Qt message handling. The functions are related to generating messages, Qt version handling and comparing and adjusting object values. And finally, some of the declared macros enable programmers to add compiler or platform specific code to their applications, while others are convenience macros for larger operations. Types The header file declares several type definitions that guarantee a specified bit-size on all platforms supported by Qt for various basic types, for example qint8 which is a signed char guaranteed to be 8-bit on all platforms supported by Qt. The header file also declares the qlonglong type definition for long long int (__int64 on Windows). Several convenience type definitions are declared: qreal for double, uchar for unsigned char, uint for unsigned int, ulong for unsigned long and ushort for unsigned short. Finally, the QtMsgType definition identifies the various messages that can be generated and sent to a Qt message handler; QtMsgHandler is a type definition for a pointer to a function with the signature void myMsgHandler(QtMsgType, const char *). Functions The   header file contains several functions comparing and adjusting an object's value. These functions take a template type as argument: You can retrieve the absolute value of an object using the qAbs() function, and you can bound a given object's value by given minimum and maximum values using the qBound() function. You can retrieve the minimum and maximum of two given objects using qMin() and qMax() respectively. All these functions return a corresponding template type; the template types can be replaced by any other type. Example: - int myValue = 10; - int minValue = 2; - int maxValue = 6; - int boundedValue = qBound(minValue, myValue, maxValue); - // boundedValue == 6 also contains functions that generate messages from the given string argument: qCritical(), qDebug(), qFatal() and qWarning(). These functions call the message handler with the given message. Example: - if (!driver()->isOpen() || driver()->isOpenError()) { - qWarning("QSqlQuery::exec: database not open"); - return false; The remaining functions are qRound() and qRound64(), which both accept a qreal value as their argument returning the value rounded up to the nearest integer and 64-bit integer respectively, the qInstallMsgHandler() function which installs the given QtMsgHandler, and the qVersion() function which returns the version number of Qt at run-time as a string. Macros The   header file provides a range of macros (Q_CC_*) that are defined if the application is compiled using the specified platforms. For example, the Q_CC_SUN macro is defined if the application is compiled using Forte Developer, or Sun Studio C++. The header file also declares a range of macros (Q_OS_*) that are defined for the specified platforms. For example, Q_OS_X11 which is defined for the X Window System. The purpose of these macros is to enable programmers to add compiler or platform specific code to their application. The remaining macros are convenience macros for larger operations: The QT_TRANSLATE_NOOP() and QT_TR_NOOP() macros provide the possibility of marking text for dynamic translation, i.e. translation without changing the stored source text. The Q_ASSERT() and Q_ASSERT_X() enables warning messages of various level of refinement. The Q_FOREACH() and foreach() macros implement Qt's foreach loop. The Q_INT64_C() and Q_UINT64_C() macros wrap signed and unsigned 64-bit integer literals in a platform-independent way. The Q_CHECK_PTR() macro prints a warning containing the source code's file name and line number, saying that the program ran out of memory, if the pointer is 0. The qPrintable() macro represent an easy way of printing text. Finally, the QT_POINTER_SIZE macro expands to the size of a pointer in bytes, and the QT_VERSION and QT_VERSION_STR macros expand to a numeric value or a string, respectively, specifying Qt's version number, i.e the version the application is compiled against. See also   and QSysInfo.
1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 16.1 17.1 18.1 19.1 21.1 22.1 23.1 24.1 25.1 26.1 27.1 28.1 29.1 30.1 31.1 32.1 33.1 34.1 35.1 36.1 37.1 38.1 40.1 41.1 42.1 43.1 44.1 45.1 46.1 47.1 48.1 49.1 50.1 51.1 52.1 53.1 54.1 55.1 56.1 57.1 58.1 59.1 60.1 61.1 62.1 63.1 64.1 65.1 66.1 67.1 68.1 69.1 70.1 71.1 72.1 73.1 74.1 75.1 76.1 77.1 78.1 79.1 80.1 81.1 82.1 83.1 84.1 85.1 86.1 87.1 88.1 89.1 90.1 91.1 92.1 93.1 94.1 95.1 96.1 97.1 98.1 99.1 100.1 101.1 102.1 103.1 104.1 105.1 106.1 107.1 108.1 109.1 112.1 114.1 116.1 117.1 118.1 119.1 120.1 121.1 122.1 123.1 124.1 126.1 127.1 129.1 130.1 131.1 132.1 133.1 134.1 135.1 136.1 137.1 138.1 139.1 140.1 141.1 142.1 143.1 144.1 145.1 146.1 147.1 148.1 149.1 150.1 151.1 152.1 153.1 154.1 155.1 156.1 157.1 159.1 160.1 162.1 164.1 165.1 166.1 167.1 168.1 169.1 170.1 172.1 173.1 174.1 175.1 176.1 177.1 179.1 180.1 181.1 182.1 183.1 184.1 185.1 186.1 187.1 188.1 189.1 190.1 191.1 192.1 193.1 195.1 196.1 198.1 199.1 200.1 201.1 202.1 203.1 204.1 205.1 207.1 208.1 210.1 211.1 212.1 213.1 214.1 215.1 216.1 217.1 218.1 219.1 220.1 221.1 222.1 223.1 224.1 225.1 226.1 227.1 228.1 229.1 230.1 231.1 232.1 233.1 234.1 235.1 236.1 237.1 238.1 240.1 241.1 243.1 244.1 245.1 247.1 248.1 249.1 250.1 251.1 252.1 253.1 254.1 255.1 257.1 258.1 259.1 260.1 262.1 263.1 264.1 265.1 266.1 267.1
Türkçe Global Tanımlamalar Bu döküman temel C bilginiz var olduğu düşünelerek hazırlanmıştır. Orijinal ingilizce versiyona bağlı kalınmaya çalışılmış, konuların değinildiği yerlerin bir olması hedeflenmiştir. Global tanımlar   header dosyasında bulunmaktadır. Global tanım listesine bu dökümanın ingilizce versiyonundan ulaşabilirsiniz. Tipler (Types) Qt tiplerinin amacı tüm platformlarda karşılığı olan tiplerle çalışmayı sağlamaktır. Bu header dosyasında tanımlanan tipler daha çok tüm platformlarda ortak kullanılabilecek şekilde ortak bit boyutlarında değişkenleri içermektedir. Buna bir örnek verecek olursak qint8 ile 8 bit signed char garantiye alınmış olur. Bu değişken tüm platformlarda C tipinde karşılığı olan bir değişkenle Qt tarafından eşleşebilir. Bunun dışında önemli bir husus olan QtMsgType ile bir çoğu platformda Qt tarafından mesaj handlerlerine mesajlar ulaştırılarak uyumluluk sağlanmaktadır. Fonksiyonlar (Functions) başlık dosyası çeşitli fonksiyonlar taşımaktadır. Bu fonksiyonlar daha çok template amaçlıdır, yani bir çoğu platformda aynı işi gören C fonksiyonlarına kalıp olurlar. Bunlardan göze çarpan, qAbs() fonksiyonu mutlak değer döndürmektedir. qMin() ve qMax() fonksiyonları ise iki değerden en düşüğünü ve en yükseğini döndürmektedir. Örnek: - int valueA = 10; - int valueB = 5; - int valueMin = qMin(valueA, valueB); - // valueMin == 5 içerisinde dört önemli fonksiyon bulunmaktadır. Bu fonksiyonlar string mesajlar üretmektedir, qCritical(), qDebug(), qFatal() ve qWarning() dir. Örnek: - if (!driver()->isOpen() || dirver()->isOpenError()) { - qWarning("Sql Hatası: Database açılamıyor"); Örnekte görüldüğü gibi varsayım bir veritabanına bağlantı kurulduğunda hata olma ihtimali sonucu bir uyarı mesajı üretmiş olduk. Makrolar (Macros) dosyası içerisinde ki makrolardan Q_CC_ ile başlayanlar özel bir platformda compile edilmek için kullanılır. Örneğin Q_CC_SUN makrosu ile tanımlama sonucu Sun Studio C++ ile compile edilebilir. Ancak makro Q_OS_ ile başlıyor ise tanımlama belirtilen platform içindir. Örneğin Q_OS_WIN32 ile Windows sistemleri için tanımlama yapılabilir. Makrolar sayesinde derlemeye veya platforma özel kodlar geliştirilebilir. Bunun dışında çeşitli bilgiler de verilmek için bazı makrolar bulunmaktadır. Buna bir örnek olarak QT_VERSION_STR ile Qt versiyonu string olarak alınabilmektedir. Tip Dökümantasyonu typedef QtMsgHandler Bu tanımlama ile handler fonksiyonuna bir pointer oluşturulur. Bu fonksiyona parametre olarak QtMsgType ve char tipli mesaj gönderilir. - void aMsgHandler(QtMsgType, const char *); enum QtMsgType Bu enum sayesinde mesaj handlerine gönderilen mesajın tipi belirlenir. Bu sayede mesajın üretildiği kaynakta bilinmiş olur. Constant tablosu dökümanın ingilizce versiyonunda detaylıca verilmiştir. Bunlar, QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtSystemMsg dir. typedef qint8 Bu tanımlama signed char içindir. Bu sayede 8-bit lik data tüm platformlarda Qt tarafından desteklenmiş olur. typedef qint16 Bu tanımlama signed short içindir. Bu sayede 16-bit lik data tüm platformlarda Qt tarafından desteklenmiş olur. typedef qint32 Bu tanımlama signed int içindir. Bu sayede 32-bit lik data tüm platformlarda Qt tarafından desteklenmiş olur. typedef qint64 Bu tanımlama long long int (__int64 on Windows). Bu sayede 64-bit lik data tüm platformlarda Qt tarafından desteklenmiş olur. Ancak bunun için Q_INT64_C() makrosu kullanılmalıdır. typedef qlonglogn Bu qint64 ile aynı yapıya sahiptir. typedef qptrdiff Bu değişken tipi pointer farklılıkları için kullanılmaktadır. Bu sayede herhangi bir boyutta ki pointer tüm platformlarda desteklenebilmektedir. Burada qptrdiff signed dir, signed olmayan değerler için quintptr kullanmanız gerekir. typedef qreal Bu değişken tipi double içindir. Ancak ARM işlemcilerde bu değişken float olarak karşılık alır. Bunun sebebi performans kazanmak içindir. typedef quint8 Bu değişken unsigned char içindir. typedef quint16 Bu değişken unsigned short içindir. typedef quint32 Bu değişken unsigned int içindir. typedef quint64 Bu değişken unsigned long long int (unsigned __int64 Windows’da) içindir. Bu değişkeni kullanmak için Q_UINT64_C() makrosu kullanılmalıdır. typedef quintptr Bu değişken unsigned pointer farklılığı içindir. Bu sayede herhangi bir boyuttaki unsigned pointerlar Qt tarafından farklı platformlarda desteklenmektedir. typedef qulonglong Bu değişken quintptr ile aynıdır. typedef uchar unsigned char için en kolay uyuşumlu tiptir. typedef uint unsigned int için en kolay uyuşumlu tiptir. typedef ulong unsigned long için en kolay uyuşumlu tiptir. typedef ushort unsigned short için en kolay uyuşumlu tiptir. Fonkisyon Dökümantasyonu T qAbs(const T & value) qAbs fonksiyonu T tipi ile verilen değeri 0 dan uzaklaştırarak mutlak değerini alır. Örnek: - int mutlakDeger; - int orijinalDeger = -14; - mutlakDeger = qAbs(orijinalDeger); - // mutlakDeger == 14 const T & qBound( const T & min, const T & value, const T & max ) Bir değeri en düşük ve en yüksek sınırlarda ki bir aralıkta tutacak şekilde zorlar. Bu qMax(min, qMin(value, max)) ile aynıdır. Örnek: - int xValue = 0; - int minValue = 2; - int maxValue = 8; - int boundedValue = qBound(minValue, xValue, maxValue); - // boundedValue == 2 void qCritical ( const char * msg, … ) Mesaj handlerini critical mesajla çağırır. Eğer mesaj handleri tanımlanmamışsa stderr hatayı yazdırır. Windows altında mesaj debuggere gönderilir. Bu fonksiyon C printf() fonksiyonundaki gibi string argümanlarını kabul etmektedir. Örnek: void qDebug ( const char * msg, … ) Mesaj handlerini debug mesajla çağırır. Eğer mesaj handleri tanımlanmamışsa stderr hatayı yazdırır. Windows altında console uygulaması geliştirildiğinde mesaj debuggere gönderilir. Eğer QT_NO_DEBUG_OUTPUT tanımlaması yapılmış ise mesaj esgeçilir. Bu fonksiyon C printf() fonksiyonundaki gibi string argümanlarını kabul etmektedir. void qFatal ( const char * msg, … ) Mesaj handlerini fatal mesajla çağırır. Eğer mesaj handleri tanımlanmamışsa stderr hatayı yazdırır. Windows altında mesaj debuggere gönderilir. bool qFuzzyCompare ( double p1, double p2 ) [static] Floating point p1 ve p2 değerlerini eşitliğini kontrol ederek eşit olma durumunda true yanlış olma durumunda false döndürmektedir. Burada dikkat edilmesi gereken bir bug bulunduğu bildirilmiştir. Bu kontrol eğer 0.0 değerleri üzerinde yapılacak ise çalışmayacaktır. Bunun için yapılablecek bir çözüm olarak compare edilecek her iki değere 1 eklenerek sorun giderilmiş olur. bool qFuzzyCompare ( float p1, float p2 ) [static] qFuzzyCompare nin double parametrelisi ile aynıdır. QtMsgHandler qInstallMsgHandler ( QtMsgHandler handler ) Daha onceden tanimlanmis olan bir mesaj handleri install ederek pointerini geri dondurur. Mesaj handleri qFatal, qDebug gibi mesajlari yakalayarak mesaj ciktilarinnin olusturulmasini saglar. Eger QT_NO_WARNING_OUTPUT ve/veya QT_NO_DEBUG_OUTPUT tanimlanmamissa bu mesajlar in ciktilarini almak mumkun olur Mesaj handleri mesajlari X11 altinda standart outputtan verirken Windows altinda ise debugtan vermektedir. Fatal mesajlarinin onemli bir hususuda uygulamayi durdurmasidir. int qMacVersion() Bunun yerine QSysInfo::MacintoshVersion kullanmanız tavsiye edilir. const T & qMax ( const T & value1, const T & value2 ) value1 ve value2 değerlerinden en büyüğünü getirir. Örnek: - int benimVeri = 10; - int seninVeri = 5; - int enBuyukKim = qMax(benimVeri, seninVeri); - // enBuyukKim == benimVeri const T & qMin ( const T & value1, const T & value2 ) qMax dakinin aksine en küçük değeri döndürür. Bir önceki örnekte uygulandığında enBuyukKim değişkeni seninVeri ye eşit olacaktır. qint64 qRound64 ( qreal value ) 64-bit integer olacak şekilde sayıyı yuvarlayıp döndürür. Örnek: - int roundedDeger1 = qRound(deger1); - int roundedDeger2 = qRound(deger2); int qRound ( qreal value ) Integer tipinde bir sayıyı yuvarlayıp döndürür. Bir önceki örnekteki gibi davranış sergiler. const char * qVersion () Çalışma esnasında qt nin versiyonunu öğrenmek isterseniz bu fonksiyonla String tipinde versiyonu alabilirsiniz (Örneğin, “4.1.0”). Ayrıca QT_VERSION_STR makrosuna da bakınız. void qWarning ( const char * msg, … ) Mesaj handlerini msg bilgisiyle çağırır. Eğer mesaj handleri oluşturulmamışsa hata çıktısını stderr’a yönlendirir. Windows altında çalışıyorsanız mesajı debugger’e gönderecektir. Eğer bu fonksiyon QT_NO_WARNING_OUTPUT ile karşılaşmamışsa, QT_FATAL_WARNING tanımlaması yapacaktır. QT_NO_WARNING_OUTPUT tanımlaması sayesinde Warning tipi hataları es geçebildiğimizi unutmayın. Bu fonksiyon string formatını ve liste argüman yapısını C de ki printf() fonksiyonunda olduğu gibi kullanabilmektedir. Örnek: - void f(int c) - if ( c > 500 ) - qWarning("f: bad argument, c == %d", c); Eğer program çalışırken süpriz bir çıktıyla karşılaşmak istemiyorsanız tavsiye qInstallMsgHandler() ‘i install etmektir. T * q_check_ptr ( T * pointer ) Pek fazla açıklama bulamadığım bir husus. Ama anladığım kadarıyla pointerin pointer olup olmadığını denetliyor. Bir pointer verin ve size yine bir pointer döndürsün. Pointer vermezseniz ne olur, zaten onu denetlemek için. QByteArray qgetenv ( const char * varName ) Environment değişkenlerini okumaya ihtiyaç duyduğunuzda parametrede göndereceğiniz değeri okur. Gelen dğeri QByteArray::constData() fonksiyonuyla char dönüştürebilirsiniz. bool qputenv ( const char * varName, const QByteArray & value ) Environment değişkenlerinde düzenleme veya ekleme ihtiyacı duyduğunuzda bu fonksiyonu kullanabilirsiniz. Değişkenin adı ve değerini göndererek var ise eski kaydı günceller, yok ise yeni kayıt oluşturur. Eğer geri dönen değer 0 ise değeri ayarlamayı maalesef yapamamış demektir. int qrand () C++ da ki rand() fonksiyonunun Thread-safe versiyonudur. Geri döndereceği sayıyı 0 ile RAND_MAX (bu max   ve   dosyalarında tanımlanmıştır) arasında pseudo-random sekansı ile bularak döndürür. Bu sekans bir adım değeri ile üretildiği için eğer adım değerini belirleyerek rastgele sayı üretmek isterseniz qsrand() fonskiyonunu kullanabilirsiniz. void qsrand ( uint seed ) C++ da ki srand() fonksiyonun Thread-safe versiyonudur. qrand() fonksiyonunu çağırırken, pseudo rastgele sayısını üretecek adım değerini belirtmek için kullanılır. Yani rastgele sayı aralığında ki sekansı değiştirmeye yarar. qsrand() fonskiyonu ile tanımlanan adım değeri bir thread boyunca hep aynı kalacaktır. Buna dikkat ederek farklı threadlarda sekansın aynı ayarla olmayacağını ve bir thread boyunca sekansın değişmesini istiyorsanız thread bitmeden tekrar ayarlamanız gerekeceğini unutmayın. void qt_set_sequence_auto_mnemonic ( bool on ) Mac sistemlerde mnemonic değerini aktif etmeye yarar. Mac sistemlerde bu değer varsayılan olarak false dır. int qt_symbian_exception2Error ( const std::exception & aThrow ) Symbian sistemlerde C++ standart hatalarını symbian hata sisteminde symbian hata koduna dönüştürmeyi sağlar. Bu kod sadece symbian sistemlerde çalışır. void qt_symbian_exception2LeaveL ( const std::exception & aThrow ) Symbian sistemlerde C++ standart hatalarını symbian hata sisteminde symbian leave haline dönüştürmeyi sağlar. Bu kod sadece symbian sistemlerde çalışır. void qt_symbian_throwIfError ( int error ) Symbian sistemlerde hata kodu ile hata fırlatılmasını sağlar. Bu kod sadece symbian sistemlerde çalışır. Makro Dökümantasyonu QT_REQUIRE_VERSION ( int argc, char ** argv, const char * version ) Qt uygulaması geliştirirken gerekli versiyonu belirtmek için kullanılır. Bu sayede uygulama çalışmadan önce gerekli versiyonun var olup olmadığını kontrol ederek uygulamanın çalışmasını sağlar. argc ve argv parametreleri qt main fonksiyonuna gönderilen parametreler olmalıdır. Örnek: - #include - #include - int main(int argc, char *argv[]) - QT_REQUIRE_VERSION(argc, argv, "4.0.2") - QApplication app(argc, argv); - return app.exec(); QT_TRYCATCH_ERROR ( error, function ) Bu makro standart C++ hata kodunu yakalayıp Symbian OS hata koduna dönüştürür. Bu durumda error ile kodu ve KErrNone ile hata oluşmadığı bilgilerine ulaşabiliriz. Bu makro sadece Symbian sistemlerde çalışır. Örnek: - // Burada Symbian TInt tipinde hata kodunu üreterek bize sunar. - // Örnekte server adını translate ederken oluşacak hatayı algılamaya çalışılmıştır. - // Eğer hata olursa geri dönecek değer KErrNone sabitinden farklı olacaktır. - TInt QServerApp::Connect(const QString &serverName) - TPtrC name; - TInt err; - QT_TRYCATCH_ERROR(err, name.Set(qt_QString2TPtrC(serverName))); - if (err != KErrNone) - return err; - return iServer.Connect(name); QT_VERSION Qt nin versiyonunu hex olarak verir. Bu 0xMMNNPP şeklindeki (MM=Major, NN=Minor ve PP=Patch) bilgiyle version bilgisine ulaşılabilinir. Aşağıda ki örnekte qt versiyonuna göre uygulamada derlenirken icon atama yöntemine değinilmiştir. Örnek: - #if QT_VERSION >= 0x040100 - #else - QIcon icon(pixmap); - #endif QT_VERSION_STR String tipinde (örn: 4.1.0) versiyon bilgisini almamıza yarar. void Q_ASSERT ( bool test ) Bir işlem sonucunda debug modunda iken bize işlem için test yaparak bilgi gönderir. Bu bilgi kaynak, satır gibi verilerle debug çıktısına basılır. Örnek: - // File: div.cpp - #include - int divide(int a, int b) - Q_ASSERT(b != 0); - return a / b; Örnekte eğer b değeri 0 verilerek çağrılmış ise debug çıktısına aşağıdaki gibi bir bilgi yazılacaktır. - ASSERT: "b == 0" in file div.cpp, line 7 void Q_ASSERT_X ( bool test, const char * where, const char * what ) Q_ASSERT den farklı olarak nerede ve ne bilgileri de mesaj olarak gönderilir. Örnek: - // File: div.cpp - #include - int divide(int a, int b) - Q_ASSERT_X(b != 0, "Bölme işlemi", "Sıfıra bölme hatası"); - return a / b; Eğer işlemde b 0 olarak gönderilmiş ise debug çıktısına aşağıda ki bilgi düşecektir. - ASSERT failure in Bölme işlemi: "Sıfıra bölme hatası", file div.cpp, line 7 Q_CC_BOR Bu tanımlama ile derlemenin Borland/Turbo C++ ile yapılacağını belirtir. Q_CC_CDS Bu tanımlama ile derlemenin Reliend C++ ile yapılacağını belirtir. Q_CC_COMEAU Bu tanımlama ile derlemenin Comeau C++ ile yapılacağını belirtir. Q_CC_DEC Bu tanımlama ile derlemenin DEC C++ ile yapılacağını belirtir. Q_CC_EDG Bu tanımlama ile derlemenin Eddison Design Group C++ ile yapılacağını belirtir. Q_CC_GHS Bu tanımlama ile derlemenin Green Hills Optimizing C++ ile yapılacağını belirtir. Q_CC_GNU Bu tanımlama ile derlemenin GNU C++ ile yapılacağını belirtir. Q_CC_INTEL Bu tanımlama ile derlemenin Intel C++ ile yapılacağını belirtir. Q_CC_MSVC Bu tanımlama ile derlemenin Microsoft Visual C/C++ veya Intel C++ for Windows ile yapılacağını belirtir. void Q_CHECK_PTR ( void * pointer ) Parametrenin pointer olup olmadığını kontrol eder. Q_DECLARE_TYPEINFO ( Type, Flags ) Özellikle bir tip için ekstra bilgi ataması yapmak istediğinizde kullanabilirsiniz. Type ile belirteceğiniz tipe Flag ile özellik bilgisini eklersiniz. Bu özelikler; - Q_PRIMITIVE_TYPE ile kurucusu ve yıkıcısı olmayan tiplere ait flagdır. Genellikle POD (plain old data) diye anılırlar. - Q_MOVABLE_TYPE ile kurucusu ve/veya yıkıcısı olan bellekte taşınabilir (memcopy() ile) tiplerin flagıdır. - Q_COMPLEX_TYPE (varsayılan) kurucusu ve/veya yıkıcısı olan ancak bellekte taşınamayn tiplerin flagıdır. Primitif bir tip için örnek: - struct Point2D - int x; - int y; - Q_DECLARE_TYPEINFO(Point2D, Q_PRIMITIVE_TYPE); Movable bir tip için örnek: - class Point2D - public: - Point2D() { data = new int[2]; } - Point2D(const Point2D &other) { ... } - ~Point2D() { delete[] data; } - Point2D &operator=(const Point2D &other) { ... } - int x() const { return data[0]; } - int y() const { return data[1]; } - private: - int *data; - Q_DECLARE_TYPEINFO(Point2D, Q_MOVABLE_TYPE); qint64 Q_INT64_C ( literal ) Platformdan bağımsız olarak signed int64 oluşturmaya yarar. Örnek: foreach ( variable, container ) container üzerinden değer çekerek çalışan standart foreach döngüsüdür. forever for (;;) döngüsünde olduğu gibi sonsuz döngü oluşturmaya yarar süslü parantezler içerisini sürekli çalıştırır. Son Bu makale ingilizce versiyonunda ki konular alınarak hazırlanmıştır. Bazı konular atlanmış olabilir, bu genellikle aynı yapıdaki sabitler, makrolar ve fonksiyonlarda olabilir. Lütfen eksik konular için ingilizce versiyonuna başvurunuz.