use QApplication