if you need menus, toolbars and etc then you need to use QMainWindow, if you need modal dialogs with own event loop provided by exec method then QDialog in another case you can you QWidget.