QAction에 투명 아이콘을 설정하려고하는데, 그러면 메뉴와 툴바에 추가됩니다. 스타일 시트를 사용하여 응용 프로그램의 스타일을 지정합니다. 아이콘 투명도는 작동하지만 아이콘의 왼쪽 및 위쪽 가장자리에 1px 검은 색 테두리가있는 모양으로 도구 막대에 아이콘이 그려집니다.툴바의 투명 아이콘이 추한 테두리를 그립니다.
이제 내 모든 아이콘은 하나의 큰 이미지 파일 (투명도가있는 PNG)에 저장되며 하나의 큰 스트립에 저장됩니다. 하나의 QIcon로를 추출하려면,이 작업을 수행합니다
// load icon strip:
QPixmap large;
large.load(":/icons/tb_icons_l.png", "PNG", Qt::OrderedAlphaDither);
QSize largeSize(large.width()/ICON_COUNT, large.height());
// create individual icon pixmap
QPixmap iconLarge(largeSize);
// fill with transparent pixels:
iconLarge.fill(QColor(0,0,0,0));
// copy pixel data from icon strip to image:
{
QPainter p(&iconLarge);
p.setBackgroundMode(Qt::TransparentMode);
p.drawPixmap(0,0,large, largeSize.width() * i, 0, largeSize.width(), largeSize.height()); // 'i' is the icon index.
}
return QIcon(iconLarge);
나는 문제가 내가 대신 모두가 완벽하게 작동하지 않습니다 (더 검은 색 테두리) 개별 파일에서 아이콘을로드 할 때부터 위의 몇 줄 알고있다.
다른 사람이 전에 본 것과 같은 것을 본 사람이 있습니까? 누구나보기 흉한 검은 색 테두리를 제거하는 몇 가지 변경 사항을 제안 할 수 있습니까? 테두리는 도구 모음 단추 자체의 일부가 아니라 이미지의 일부입니다.
저는 Linux에서 최신 Qt 4.5를 실행하고 있습니다. – Thomi
감사합니다. 당신이 옳았습니다. 내가 보지 못했던 새로운 버그 수정 릴리즈가있었습니다. 업데이트로 문제가 해결되었습니다. 건배! 최소한 내 코드는 탓할 필요가 없었습니다! – Thomi