示例#1
0
def make_qicon(hicon):
    width = 16
    height = 16
    if valid_handle(hicon):
        return QPixmap.fromWinHICON(hicon).scaled(width, height)
    else:
        ret = QPixmap(width, height)
        ret.fill(Qt.transparent)
        return ret
示例#2
0
 def icon(self, size):
     flags = SHGFI.SHGFI_USEFILEATTRIBUTES
     if size > 32:
         flags = flags | SHGFI.SHGFI_SYSICONINDEX
         h = GetImageList(SHGFI.SHIL_EXTRALARGE)
         info = GetFileInfo(self._extension,flags)
         hIcon = ImageList_GetIcon(h, info.iIcon, ILD_TRANSPARENT)
     else:
         flags = flags | SHGFI.SHGFI_ICON
         if size < 32:
             flags = flags | SHGFI.SHGFI_SMALLICON
         else:
             flags = flags | SHGFI.SHGFI_LARGEICON
         info = GetFileInfo(self._extension, flags)
         hIcon = info.hIcon
     px = QPixmap.fromWinHICON(hIcon)
     DestroyIcon(hIcon)
     return px