QWidget에서 mouseEnter 및 mouseLeave 이벤트를 구현하는 방법은 무엇입니까? QWidget에서 mouseEnter 및 mouseLeave 이벤트를 구현하는 방법은 무엇입니까?
는 QWidget에 mouseEnter 그때 내가는 QWidget에서하는 MouseLeave 그때 내가 배경색을 설정해야하는 경우 회색, 에 배경 색상을 설정해야하는 경우
내가void enterEvent(QEvent *);
void leaveEvent(QEvent *);
을 시도
백색
내부에 입력 & 이벤트를 남겨주세요. bool varibale set true를 사용하고 있습니다. & false. 나는 QPainter 이벤트 update()를 호출하고있다. 아래
코드 : 내가는 QWidget
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted
에 마우스를 이동하고 때 나는 다음과 같은 오류를 얻고있다
void Test::enterEvent(QEvent *)
{
_mouseMove=true;
update();
}
void Test::leaveEvent(QEvent *)
{
_mouseMove=false;
update();
}
void Test::paintEvent(QPaintEvent *)
{
QPainter painter;
painter.begin(&m_targetImage);
painter.setRenderHint(QPainter::Antialiasing);
if(_mouseMove){
painter.fillRect(QRect(0,0,width(),height()),Qt::white);}
else{
painter.fillRect(QRect(0,0,width(),height()),Qt::gray);}
painter.end();
QPainter p;
p.begin(this);
p.drawImage(0, 0, m_targetImage);
p.end();
}
이 문제를 해결하기 위해 도와주세요. 만약 샘플 코드를 가지고있는 사람이 있다면 ....
또한 듣고 수를 업데이트() 자체를 수행하는 호버 (hover) 이벤트. Qt 스타일 시트는 또한 호버 상태에 따라 다른 설정을 허용합니다. –