more compatible to qt5