2016-10-31 1 views

답변

0

옵션 당신이 QTextBrowser 전혀 초점을 얻을하지 않으려면

은, 가장 단순한 한 줄 솔루션이 focusPolicy 설정하는 것입니다 A :이 것을

textBrowser->setFocusPolicy(Qt::NoFocus); 

공지 사항 다소 잔인한 접근 방식이지만 키보드 탐색을 모두 막을 수 있습니다. 이 점에서 포커스 정책을 Qt::TabFocus으로 설정하는 것이 훨씬 더 좋지만 QTextBrowser에 포커스가있을 때 포커스 사각형이 나타나지 않도록하지는 않습니다.

옵션 B

다른 방법은 포커스 표시기의 모양을 변경할 사용자 정의, 또는 오히려 프록시 스타일을 사용하는 것입니다.

#include <QProxyStyle> 

class MyProxyStyle : public QProxyStyle 
{ 
public: 
    int styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const 
    { 
     if (hint == SH_TextControl_FocusIndicatorTextCharFormat) 
      return false; 
     return QProxyStyle::styleHint(hint, option, widget, returnData); 
    } 
}; 

다음 : 당신이 후드 아래에 어떻게 작동하는지 볼 구현 세부 사항에 관심이 있다면

textBrowser->setStyle(new MyProxyStyle); 

QWidgetTextControl::getPaintContext()QCommonStyle::styleHint()를 참조하십시오. 요컨대, 반환 데이터에서 원하는 텍스트 형식을 설정할 수있는 스타일에서 원하는 모양을 쿼리합니다.

관련 문제