Qt 클릭 과 더 블 클릭 이벤트 응답 구현
2148 단어 Qt
http://www.cnblogs.com/siyuan/archive/2010/11/22/1883703.html
변경: 변수 isDoubleClicked 표 시 를 사용 하고 대응 하 는 1 을 누 르 고 대응 하 는 2 를 두 번 누 르 면 정상 적 인 상태 에서 0 을 누 르 지 않 으 면 더욱 편리 합 니 다.
(1) 먼저 MainWindow 클래스 를 새로 만 듭 니 다.
(2) mainwindow. h 파일 에서 설명:
private slots: void timerSingleClick(); // , public: QTimer* pQTimerDoubleClicked; // int isDoubleClicked; //
(3) mainwindow. cpp 파일, 구조 함수 중:isDoubleClicked = 0; // pQTimerDoubleClicked = new QTimer(this); // connect(pQTimerDoubleClicked,SIGNAL(timeout()),this,SLOT(timerSingleClick())); //
(4) mainwindow. cpp 파일, 단 추 를 누 른 슬롯 함수, 더 블 클릭 응답 코드 포함:void MainWindow::on_pushButton_clicked() { isDoubleClicked++; if(isDoubleClicked==1) pQTimerDoubleClicked->start(430); //430ms if(isDoubleClicked==2) { isDoubleClicked = 0; // pQTimerDoubleClicked->stop();// // QMessageBox::warning(this,tr(" "),tr(" !!!"),tr(" ")); } }
(5) mainwindow. cpp 파일, 타이머 이벤트 응답 슬롯 함수, 클릭 응답 코드 포함:void MainWindow::timerSingleClick() { isDoubleClicked = 0; // pQTimerDoubleClicked->stop(); // // QMessageBox::warning(this,tr(" "),tr(" "),tr(" ")); }
완성
개인 적 으로 기 존 게시 물 에 비해 두 개의 마우스 클릭 이벤트 인 mousePress Event 와 mouseDoubleClickEvent 를 사용 하 는 것 이 라 고 생각 합 니 다. 본 고 는 하나의 버튼 으로 슬롯 함수 와 하나의 변수 인 isDoubleClicked 를 클릭 하여 해결 하 는 것 이 더욱 실 용적 이 고 타이머 파라미터 도 잘 조절 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Qt로 문자와 이미지의 혼합 텍스트 그리기텍스트를 그리려면 QPainter::drawText 함수를 사용하지만 텍스트와 동시에 이미지 (아이콘 등)를 함께 그리기를 원합니다. QLabel와 QPushButton는 이미지와 텍스트를 표시하는 기능을 가지고 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.