2017-11-01 3 views
0

난 그냥 QScrollArea을 (난 단지 배경 색상을 설정할), 내가 좋아하는 모든 scrollarea의 widgetContents - 위젯의 스타일을 가지고 스타일을 수 없습니다 mainWindow의 스타일 시트를 올리면 모든 스크롤 영역의 widgetContents-widget이 예제 에서처럼 수동으로 모두 호출하지 않고 배경색을 변경한다는 것을 알 수 있습니까? 답변 주셔서 감사합니다!Qt mainWindow에서 모든 스크롤 영역의 widgetContents-widget의 스타일 시트를 변경하는 방법은 무엇입니까?</p> <pre><code>// qss code QScrollArea #scrollAreaWidgetContents_1, #scrollAreaWidgetContents_2, ...{ background-color: MYCOLOR; } </code></pre> <p>질문 : 내가 설정해야 할 방법 Qt는에서

auto* content = new QWidget(); 
content->setObjectName("scrollAreaWidget"); 
auto* scrollArea = new QScrollArea(); 
scrollArea->setWidget(content); 

을 그리고 다음과 같이 QSS에서이를 해결 : 당신이 다른 곳 위젯의 개체 이름을 사용하지 않는 경우

+0

이 뜻입니까? http://doc.qt.io/qt-4.8/qt-widgets-stylesheet-example.html –

답변

0

, 당신은 그들 모두를위한 공통의 개체 이름을 설정할 수

QWidget#scrollAreaWidget 
{ 
    background-color: white; 
} 

옵션이없는 경우 QWidget의 서브 클래 싱을 시도하고 새 클래스의 스타일을 적용 할 수 있습니다. 이 방법을 시도하지는 않았지만 it seems, 거기에 어려움이있을 수 있습니다.

+0

감사합니다. 글쎄, 나는 불행히도 옵션이 없으므로 객체 이름을 사용해야한다. 그래서 하위 클래스 화만이 유일한 옵션 인 것 같습니다. 실제로 그것을 방지하고 싶었지만 효과가있을 것이라고 생각합니다. – mep

관련 문제