1. 程式人生 > 其它 >Qt常用巨集和方法(不斷更新中...)

Qt常用巨集和方法(不斷更新中...)

技術標籤:Qt相關

  1. Q_OBJECT
  2. Q_GADGET
    Q_GADGET是Q_OBJECT的輕量化版本,如果想使用元物件系統的反射特性又不想繼承QObject類,可使用此巨集,但是不能使用訊號-槽系統
  3. Q_FOREVER
    同forever,作用等同於for ( ; ; )
  4. qDeleteAll
    遍歷容器並呼叫元素的解構函式,注意不會清空容器,記得clear
    QList<Employee *> list;
    list.append(new Employee("Blackpool", "Stephen"));
    list.append(new Employee("Twist", "Oliver"));
    
    qDeleteAll(list.begin(), list.end());
    list.clear();
    
  5. qPrintable
    與str.toLocal8Bit().constData()相同
  6. qVersion
    獲取當前正在執行的Qt的版本號
  7. qChecksum
    計算基於CRC-16-CCITT演算法的CRC-16校驗碼
  8. Q_FALLTHROUGH
    告訴編譯器switch case語句裡存在有意識的表示式缺失,以防報警
  9. Q_UNREACHABLE()
    告訴編譯器switch case語句中此case不可能被執行
     enum Shapes {
         Rectangle,
         Triangle,
         Circle,
         NumShapes
     };
     switch (shape) {
         case Rectangle:
             return rectangle();
         case Triangle:
             return triangle();
         case Circle:
             return circle();
         case NumShapes:
             Q_UNREACHABLE();
             break;
     }