Programming/qt
QPushButton 에서 이미지로 대체하기
구차니
2026. 4. 29. 17:27
GPT 가라사대~
stylesheet로 하는게 장땡이다!
checkable은 toggle 로 작동하는 기능이고
autoRepeat는 누르고 있으면 반복적으로 pressed-released-click 으로 인식되는 기능이다.

여기를 쓰려면 먼가 이상해지는데.. 테스트 해본 바로는 이걸 쓸바에는

styleSheet에 아래껄 넣고 실행해보면
정말 원하는대로 클릭한다고 토글되지도 않고, 클릭하면 이미지가 클릭으로 바뀌고
클릭 영역 벗어나면 자동으로 release 되는 식으로 잘 작동한다.

| QPushButton { border: none; background-image: url(:/images/normal.png); } QPushButton:pressed { background-image: url(:/images/pushed.png); } |
근데 hover를 주면 hover가 우선시 되서 pressed가 안뜨네.. 먼가 계륵이다 ㅠㅠ
| QPushButton:hover { background-image: url(:/images/hover.png); } |
+
selector 라고해야하나 아무튼 hover 인거랑 hover인데 pressed 인거랑 해서 구분하면 사용가능
| QPushButton { border: none; background-image: url(:/images/normal.png); } QPushButton:hover:pressed { background-image: url(:/images/pushed.png); } QPushButton:hover { background-image: url(:/images/hover.png); } |