def __init__(self, fv, fitsimage): # superclass defines some variables for us, like logger super(FBrowser, self).__init__(fv, fitsimage) self.keywords = ['OBJECT', 'UT'] self.columns = [('Name', 'name'), ('Size', 'st_size'), ('Mode', 'st_mode'), ('Last Changed', 'st_mtime')] self.jumpinfo = [] homedir = os.environ['HOME'] self.curpath = os.path.join(homedir, '*') self.do_scanfits = False self.moving_cursor = False # Make icons icondir = self.fv.iconpath foldericon = os.path.join(icondir, 'folder.png') image = QtGui.QImage(foldericon) pixmap = QtGui.QPixmap.fromImage(image) self.folderpb = QtGui.QIcon(pixmap) fileicon = os.path.join(icondir, 'file.png') image = QtGui.QImage(fileicon) pixmap = QtGui.QPixmap.fromImage(image) self.filepb = QtGui.QIcon(pixmap) fitsicon = os.path.join(icondir, 'fits.png') image = QtGui.QImage(fitsicon) pixmap = QtGui.QPixmap.fromImage(image) self.fitspb = QtGui.QIcon(pixmap)
def make_button(self, name, wtyp, icon=None, tooltip=None): picon = None if icon: iconfile = os.path.join(self.iconpath, '%s.png' % icon) try: image = QtGui.QImage(iconfile) pixmap = QtGui.QPixmap.fromImage(image) picon = QtGui.QIcon(pixmap) qsize = QtCore.QSize(24, 24) except Exception, e: self.logger.error("Error loading icon '%s': %s" % (iconfile, str(e)))
def _get_qimage(self, rgb): h, w, channels = rgb.shape # Qt expects 32bit BGRA data for color images: bgra = numpy.empty((h, w, 4), numpy.uint8, 'C') bgra[..., 0] = rgb[..., 2] bgra[..., 1] = rgb[..., 1] bgra[..., 2] = rgb[..., 0] if rgb.shape[2] == 3: bgra[..., 3].fill(255) fmt = QtGui.QImage.Format_RGB32 else: bgra[..., 3] = rgb[..., 3] fmt = QtGui.QImage.Format_ARGB32 result = QtGui.QImage(bgra.data, w, h, fmt) # Need to hang on to a reference to the array result.ndarray = bgra return result