I started working on a window class at work since I needed some tools to be compatible with both Maya and Nuke. Now that a couple of guys I work with are using it too, thought it was about time to make public 
It inherits QMainWindow, so basically you still have to design the window as normal, you just get extra features thrown in.
Here are the Maya specific features off the top of my head:
- Dock windows to side of Maya (works with 2017+, alternate way lightly tested for pre-2017)
- Save/load position automatically
- Create Maya callbacks that are automatically removed when the window is closed
- Set external window to use the Maya colour scheme
To install, its pip install vfxwindow, github link is here.