Skip to content

Commit

Permalink
include an icon kwarg for the application(...) method
Browse files Browse the repository at this point in the history
  • Loading branch information
jborbely committed Jul 31, 2017
1 parent 1ef1ddb commit 9c9722b
Showing 1 changed file with 30 additions and 2 deletions.
32 changes: 30 additions & 2 deletions msl/qt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import sys
from collections import namedtuple

from PyQt5 import QtWidgets
from PyQt5 import QtWidgets, QtGui, QtCore

__author__ = 'Joseph Borbely'
__copyright__ = '\xa9 2017, ' + __author__
Expand All @@ -14,7 +14,7 @@
""":obj:`~collections.namedtuple`: Contains the version information as a (major, minor, micro) tuple."""


def application(args=None):
def application(args=None, icon=None):
"""Returns the QApplication instance (creating one if necessary).
Parameters
Expand All @@ -23,6 +23,10 @@ def application(args=None):
A list of arguments to initialize the QApplication.
If :obj:`None` then uses :obj:`sys.argv`.
icon : :obj:`QIcon`
The icon to use for the QApplication.
If :obj:`None` then a default *MSL logo* is used as the icon.
Returns
-------
:obj:`QtWidgets.QApplication`
Expand All @@ -31,6 +35,30 @@ def application(args=None):
app = QtWidgets.QApplication.instance()
if app is None:
app = QtWidgets.QApplication(sys.argv if args is None else args)
if icon is None:
base64 = QtCore.QByteArray.fromBase64(
b'iVBORw0KGgoAAAANSUhEUgAAAEAAAABrCAYAAADHAoQrAAAACXBIWXMAAAsT'
b'AAALEwEAmpwYAAACtklEQVR4nO2cMW6DMBSG/1Ts5AjdWbImUqTkGizNFXKC'
b'khPkCunCNUoVKVlZ2DlCOEE7NEjEWC20ht/ovW/Dsng/v2zzMLYB4cwYQas4'
b'SoyiU5gWJUEKAkZQAK/GdQagHF8G8MQI6hNqAFsAG/EGsAbBX6niaAFg3ii6'
b'hWmRu47jrQEAjgA2jesMwNZ1EPFdQA1gC2CjBrAFsGG9BczR3PnrrSsUA8K0'
b'yBhxbYjvAmoAWwAbNYAtgI0awBbARrwBPs8HOKOKo3ejaF9ProgwAI8TK0Bj'
b'pkl8FxBvwKS7QBVHGxjNO0yLpM89Jm0Avh/e/M2W9LmB+C4g3gBKF/D293gV'
b'RwCAMC2GjuvN7/GgfmipiB8D1ABbYRVHkNI1tAWwBbARb4A1ERo6DwjTYtT1'
b'iT/FE98C1AC2ADasj6FPo2jL+mMsvgWoAbZCTYUFoQaMMPvjNQHwmPpWcTTG'
b'lJg3tPIAjx7+DcBH47q01Mn+G4S1acqbRMhpJnhf439sloVp4XyJu0tcp8Jz'
b'tH9Fe42+BtkC2KgBbAFsOg+CVRztADw3isowLU6O9YxOn7fAC9q7uE4OtVAQ'
b'3wXUALYANqwtM5RvEBviW4AawBbARg1gC2CjBrAFsAkA6xzdoe+q66kivgWo'
b'AWwBbNQAtgA2rr8GSwAHx/ccFKcG3Dc9JC7vOTTiu4AawBbARrwB9SBojtyZ'
b'pW6XBQuKokyLGWDdyZn5dNzVkNSDoLmTE3CwAmsKiH8NqgFsAYqiKAqRGQCs'
b'1suNUV5ezteyWbBaL1uHnV/O19yoMwewaJZdztfMDGqJl1/O19sf4j3jcele'
b'73h1JmgeNnZAe26vy2HnC8u9bMthzDpbtDPPLvF2aGexveKJzwPUALYANvUY'
b'YPat0lJ3D2NQstTJLfey0eVo7S7xTuj21erNUd7e8QXVKpuqaR3U/AAAAABJ'
b'RU5ErkJggg=='
)
img = QtGui.QImage()
img.loadFromData(base64, 'PNG')
app.setWindowIcon(QtGui.QIcon(QtGui.QPixmap.fromImage(img)))
return app

from .loop_until_abort import LoopUntilAbort

0 comments on commit 9c9722b

Please sign in to comment.