Qt的筆記

  1. Qt的路徑不支持中文
  2. 問題:'MyThread' does not name a type
    緣由:thread.h包含usbtest.h,usbtest.h包含thread.h。頭文件循環引用
  3. 問題:class UsbTest 裏Mythread thread1; 中‘MyThread’ does not name a type
    緣由:thread1.h包含usbtest.h, usbtest.h包含thread1.h
    防止重複引用的方法就是在每一個頭文件中加上ifndef/define/endif條件編譯語句
    頭文件重複引用是指一個頭文件在同一個CPP文件中被INCLUDE了屢次,這種錯誤經常是因爲INCLUDE 嵌套形成的
  4. 全局變量
    (1)usbtest.h裏聲明extern struct libusb_device_handle 星devh;
    (2)usbtest.cpp裏定義struct libusb_device_handle 星devh = NULL;
    (3)thread1.cpp里加#include "usbtest.h"函數

    自定義的結構體:
    struct test_state {
    libusb_device 星found;
    libusb_context 星ctx;
    libusb_device_handle 星handle;
    int attached;
    };
    extern struct test_state state;
  5. 局部變量
    (1)usbtest.h裏定義結構體類型
    struct test_state {
    libusb_device 星found;
    libusb_context 星ctx;
    libusb_device_handle 星handle;
    int attached;
    };
    class UsbTest聲明struct test_state state;
    (2)thread1.h裏class Thread1聲明struct test_state 星m_state;
    (3)usbtest.cpp裏UsbTest的構造函數里加thread1.m_state = &state;get

  6. 變量與系統重名,加static
  7. qt4 與 qt5的區別:pro文件裏有widgets的是qt5qt

相關文章
相關標籤/搜索