Considering traditional MAC protocols for Wireless Sensor Networks cannot provide service differentiation for different traffic classes, we propose a Self-adaption QoS-aware MAC protocol (SQ-MAC). The protocol can provide collision-free time slots for nodes, and take different contention window size for different traffic classes. It can also introduce virtual multiqueue and relatively fair scheduling mechanism for data packets. Simulation results show that, compared with the low priority traffic, the transmission quality of high priority traffic is effectively improved, in terms of packet delivery ratio, latency and so on. Additionally, compared with S-MAC and DQ-MAC, SQ-MAC also maintains a good network performance.