2013-02-17 1 views
0

Mac에서 QTabWidget::setTabIcon()을 사용하는 중에 문제가 있습니다. 이 아이콘은 탭이 최신이 아닌 경우에만 표시됩니다. 아이콘이있는 탭이 현재 상태가되면 아이콘이 빈 공간으로 바뀝니다.Mac에서 현재 탭의 QTabWidget 표시 아이콘을 만드는 방법은 무엇입니까?

이것은 버그입니까? OS 제한 사항? 어떤 문제가 있습니까?

+0

실제로 기능을 사용하는 코드를 보지 않고는 오류를 찾아 내기가 어렵습니다.) – Thomas

+0

버그와 같이 들립니다. QTabWidget에 사용자 정의 스타일 시트가 있습니까? –

+0

이 코드는 단지''setTabIcon()''을 호출 한 것입니다. 이 아이콘은 유효합니다. 다른 탭으로 전환하자 마자 표시되고 다시 전환하면 사라집니다. 아니요, 스타일 시트를 사용하지 않습니다. – Michal

답변

0

내가 QMacStyle :: drawControl 방법에서 볼 수 있듯이 아이콘 요소의 도면에 대한 코드가없는 : 내 경우

p->save(); 
rotateTabPainter(p, myTab.shape, myTab.rect); 

QPalette np = tab->palette; 
np.setColor(QPalette::WindowText, QColor(0, 0, 0, 75)); 
QRect nr = subElementRect(SE_TabBarTabText, opt, w); 
nr.moveTop(-1); 
int alignment = Qt::AlignCenter | Qt::TextShowMnemonic | Qt::TextHideMnemonic; 
proxy()->drawItemText(p, nr, alignment, np, tab->state & State_Enabled, 
          tab->text, QPalette::WindowText); 

np.setColor(QPalette::WindowText, QColor(255, 255, 255, 255)); 
nr.moveTop(-2); 
proxy()->drawItemText(p, nr, alignment, np, tab->state & State_Enabled, 
          tab->text, QPalette::WindowText); 
p->restore(); 

, 빠른 솔루션, 나는 이전하기 전에 다음 코드를 추가하여이 문제를 패치 하나 :

관련 문제