diff --git a/labelImg.py b/labelImg.py index 3b69c17f..d1277363 100755 --- a/labelImg.py +++ b/labelImg.py @@ -1,7 +1,9 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- import codecs +import distutils.spawn import os.path +import platform import re import sys import subprocess @@ -112,7 +114,7 @@ class MainWindow(QMainWindow, WindowMixin): self._noSelectionSlot = False self._beginner = True - self.screencastViewer = "firefox" + self.screencastViewer = self.getAvailableScreencastViewer() self.screencast = "https://youtu.be/p0nR2YsCY_U" # Load predefined classes to the list @@ -577,9 +579,19 @@ class MainWindow(QMainWindow, WindowMixin): def advanced(self): return not self.beginner() + def getAvailableScreencastViewer(self): + osName = platform.system() + + if osName == 'Windows': + return ['C:\\Program Files\\Internet Explorer\\iexplore.exe'] + elif osName == 'Linux': + return ['xdg-open'] + elif osName == 'Darwin': + return ['open', '-a', 'Safari'] + ## Callbacks ## def showTutorialDialog(self): - subprocess.Popen([self.screencastViewer, self.screencast]) + subprocess.Popen(self.screencastViewer + [self.screencast]) def showInfoDialog(self): msg = u'Name:{0} \nApp Version:{1} \n{2} '.format(__appname__, __version__, sys.version_info)