2011-02-04 2 views

답변

4

QAbstractButton::autoRepeat 및 autoRepeatInterval을 확인하십시오. 그것은 정확히 당신이 필요로하고 모든 버튼에 사용할 수 있어야합니다.

+0

+1 OP가 원했던 기능을 발견하고 (그리고 정확하게 질문에 대답 :)) – Palmik

0

사용자가 마우스를 놓을 때까지 이벤트를 발생시키는 무언가를 구현해야합니다.

사용자 지정 이벤트를 발생시키는 버튼 이벤트에 연결된 핸들러 클래스를 옵저버와 같이 만들 것을 제안합니다.

0

내가 아는 한 그런 버튼 위젯이 없습니다. QPushButtonautoRepeat은 원하는대로 처리해야합니다. 그러나 QPushButton::pressed()QPushButton::released() 신호가 사용자의 필요에 따라 충분하지 않습니까?

어쨌든, 당신은 (이미 존재하기 때문에, 중복)를 구현하는 것은 매우 쉬운 것입니다 설명 무엇을 원하는 신호로 QTimer::timeout() 신호를 연결 한 다음 바로 pressed() 신호에 타이머를 시작하고 released() 신호에 정지 :)

편집 : 덧글에서 지적한 바와 같이 inbuild 솔루션이 있으며 autoRepeatQAbstractButton에서 true으로 상속 된 속성을 설정하고 있습니다.

autoRepeatDelayautoRepeatInterval을 조정하여 초기 지연 및 간격을 사용자 정의 할 수 있습니다.

+0

감사합니다. 이것이 제가 솔루션으로 생각한 것입니다. 이 기능이있는 qwidget이 없다는 것을 확인해 주셔서 감사합니다. – theosem

+1

하지만 거기에 있습니다! 프랭크 Osterfeld의 대답을 참조 – TonyK

+0

아, 그것에 대해 몰랐어요, 미안 해요 :) – Palmik

관련 문제