풍선 도움말을 에뮬레이션하는 맞춤 위젯이 있습니다. 제대로 표시 되려면 위젯이 QWidget 속성 Qt::WA_TranslucentBackground
에 의존해야합니다. 내 응용 프로그램은 모든 주요 플랫폼 (Windows XP, Windows 7, Linux, Mac)에서 작동해야하므로 조금 걱정됩니다.이 특성은 모든 주요 플랫폼에서 사용할 수 있습니까? 그렇지 않은 경우 쿼리 할 수 있습니까? testAttribute()
은 그렇게하지 않습니다. 속성을 설정했는지 여부가 아니라 속성이 설정되었는지 여부를 반환합니다.Qt :: WA_TranslucentBackground는 어디서나 사용할 수 있습니까?
답변
이것은 ARGB를 지원하지 않도록 구성된 경우 X11 이상의 Linux에서만 작동합니다. QWidget 문서를 참조하십시오 :
Qt는 4.5 이후 반투명 윈도우
만들기, 합성을 지원하는 윈도우 시스템에서 반투명 지역에 창을 만들 수있다.
최상위 위젯에서이 기능을 사용하려면 설정된 Qt는 :: WA_TranslucentBackground의 setAttribute (와 속성)과 그 배경이 당신이 부분적으로 투명하게 할 지역에 불투명 색상으로 색칠되어 을 확인 .플랫폼 노트 :
X11 :이 기능은 ARGB의 영상과 합성 창 관리자를 지원하는 X 서버의 사용에 의존한다.
Windows : 반투명이 작동하도록 위젯에 Qt :: FramelessWindowHint 창 플래그가 설정되어 있어야합니다.
"투명도 및 이중 버퍼링"이라는 단락을 읽는 것도 재미 있을지도 모릅니다.
Linux의 경우는 합성의 사용 여부를 확인해야합니다 :
bool QX11Info::isCompositingManagerRunning() [static]
예를 들어,
#ifdef Q_WS_X11
if(QX11Info::isCompositingManagerRunning())
setAttribute(Qt::WA_TranslucentBackground);
#endif
이 질문은 오래된 내용이지만 누군가에게 도움이 될 수 있습니다.
그리고 Google에서 방황하는 사람은 둥근 OSD 나 말풍선 팝업처럼 무작위 데스크톱을 지원해야하는 경우 Qt [ShapedClock] (https://doc.qt.io/ qt-5/qtwidgets-widgets-shapedclock-example.html) 예제는'setMask'를 사용하여 합성하지 않고 비 사각형 윈도우를 만드는 법을 보여줍니다. – ssokolow
때때로'Qt :: WA_TranslucentBackground'가'setMask'없이 리눅스에서 동작하도록하기 위해 몇가지 속성과 윈도우 플래그를 활성화시켜야합니다. https://stackoverflow.com/a/30596357/999943 – phyatt
- 1. 어디서나 org.w3c.dom.Node의 소스 코드를 사용할 수 있습니까?
- 2. ObjectId는 어떻게 작동하며 어디서나 사용할 수 있습니까?
- 3. 어떻게 MPI_COMM_WORLD를 선언하여 어디서나 사용할 수 있습니까?
- 4. 어디서나 백 슬래시를 넣지 않아도 sed에서 regexes를 사용할 수 있습니까?
- 5. 어디서나 볼랜드 C++ v3 for DOS를 사용할 수 있습니까?
- 6. Visual Studio 2005 Express Edition은 어디서나 합법적으로 사용할 수 있습니까?
- 7. Qt : 믹스 인 기술을 사용할 수 있습니까?
- 8. QT LPGL 2.1을 상업적으로 사용할 수 있습니까?
- 9. qt : QCursor와 같은 키보드를 사용할 수 있습니까?
- 10. Qt 객체를 상속하지 않고 Qt 스레딩을 사용할 수 있습니까?
- 11. CakePHP 어디서나 사용할 수있는 클래스?
- 12. QT : QT :: keyRelease를 사용할 때
- 13. 어디서나 WebGL의 공용 사양이 있습니까?
- 14. 애드온 어디서나 사용할 수있는 스크립트를 어떻게 포함합니까?
- 15. DOS 창에서 어디서나 쓸 수 있습니다.
- 16. 어디서나 App.xaml.cs를 찾을 수 없습니다.
- 17. WinForms 이벤트는 어디서나 정의되어 있습니까?
- 18. Visual Studio에 통합 된 Qt 오픈 소스를 사용할 수 있습니까?
- 19. 기존 win32 GUI에서 QT 버튼을 사용할 수 있습니까?
- 20. 심비안을 위해 Qt 또는 CQA에서 openssl을 어떻게 사용할 수 있습니까?
- 21. Nokia Qt SDK를 사용한 파일 작업에 fstream을 사용할 수 있습니까?
- 22. Qt- 내가 사용할 수있는 글꼴 목록은 어디에서 찾을 수 있습니까?
- 23. Qt 실행 파일과 함께 표준 GDB 디버거를 사용할 수 있습니까?
- 24. Qt : QString을 예외 클래스의 멤버로 사용할 수 있습니까?
- 25. Qt Jambi와 함께 Clojure REPL을 어떻게 사용할 수 있습니까?
- 26. Windows Qt 바이너리 설치 프로그램이 DBus를 즉시 사용할 수 있습니까?
- 27. 우리는 qt 응용 프로그램에서 winnt의 HANDLE을 사용할 수 있습니까?
- 28. Qt. 연결 SLOT()에 지역 변수를 사용할 수 있습니까?
- 29. libspotify에 사용할 수있는 Qt 래퍼가 있습니까?
- 30. Qt에서 cin을 사용할 수 있습니까?
현재 Linux가 ARGB를 지원하지 않는 경우가 얼마나 흔하거나 드뭅니까? 어떻게 든 쿼리 할 수 있습니까? –
최근 하드웨어/배포판에서 문제가 발생할 것이라고 생각하지 않습니다. 어쨌든 xdpyinfo를 사용하거나 xorg.conf 구성 파일을보고 정보를 얻어야합니다. 아마도 임베디드 리눅스 시스템에 문제가있을 수 있습니다. 이것은 더 많은 것을 제공합니다 : http://stackoverflow.com/questions/2434511/what-pixel-format-does-x-server-use. –