QWidgetAction으로 추가한 메뉴 하이라이트 수정 방법 문의 > QT 질문/답변

본문 바로가기
사이트 내 전체검색

QT 질문/답변

QT/Embedded QWidgetAction으로 추가한 메뉴 하이라이트 수정 방법 문의

페이지 정보

작성자 no_profile 은빛늑돌이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 1,118회 작성일 19-02-26 10:49

본문

메뉴의 하위 메뉴로 QLabel+QPushButton 으로 이루어진 customItem을 생성해서  QWidgetAction으로 지정하였습니다.

MainMenu -> SubMenu 1(green)
              -> SubMenu 2(green) -> Action 1 (green)
                                            -> custom Action 2 (x)
                                            -> custom Action 3 (x)

이런 형태로 이루어진 메뉴 트리입니다.
메뉴 스타일 시트 QMenu::item:selected {background: green;} 
적용을 했는데 Main Menu, SubMenu 1,2, Action 1까지는 마우스 커서가 위치하였을때 정상적으로 스타일 시트가 적용됩니다.
문제는 custom Action 2, 3, 에 위치한 메뉴에 커서가 위치할경우 스타일 시트가 적용이 되지않고 Base 하이라이트 색상으로 표시됩니다.
menu의 스타일 시트를 Main / Sub 나누어 적용해 보았으나. 증상이 동일했습니다.
제생각에는 QMenu에 스타일 시트를 적용하면 하위 리스트 까지 모두 함께 적용이 될꺼 같은데
QWidget Action으로 추가한 경우 QCustomItem 내의 paintEvent에서 별도로 처리를 해줘야 하는건지...
다른방법으론 시스템 전체에서 적용하는 하이라이트 색상을 변경하면 적용이 될것 같기도 한데 방법을 모르겠습니다.
QWidgetAction으로 메뉴에 등록했을때 하이라이트 색상이 변경안되는 이슈가 있는지 고수님들의 조언 구합니다.

A = new QCustomItem(this);
QWidgetAction *customAction2 = new QWidgetAction(this);
customAction2->setDefaultWidget(A);
SubMenu2->addAction(customAction2);

B = new QCustomItem(this);
QWidgetAction *customAction3 = new QWidgetAction(this);
customAction3->setDefaultWidget(B);
SubMenu2->addAction(customAction3);

추천0

댓글목록

등록된 댓글이 없습니다.

  • 게시물이 없습니다.

회원로그인

설문조사

새로운 홈페이지에 대한 평가

접속자집계

오늘
267
어제
894
최대
4,337
전체
4,581,942

Copyright © korone.net. All rights reserved.