Related #576 High/Low DPI Adapting

The Qt UI would change the size according to the logical DPI of the computer
Only Windows and Linux have been tested. (Should also work on Mac but have not tested).
The function is unfinished.
Part of the reason I wrote the above example like that is because checking types isn't very "pythonic".  There are usually better ways to get around cases like this in a dynamically (not statically) typed language.

Another example:
```python
def adjust_dpi(*args):
    try:
        return QSize(round(args[0] * logical_dpi['x']),
                     round(args[1] * logical_dpi['y']))
    except ....
        return QSize(round(args[0].width * logical_dpi['x']),
                     round(args[0].height * logical_dpi['y']))
    finally:
        raise TypeError('The input width and height should be (int, int) or (QSize)')
```