Qt 마우스 및 버튼 응답 이벤트 프레젠테이션 1개
mainwindow에서.h에 두 가지 이벤트 추가: mouseMoveEvent 및 keyPressEvent
구현된 기능은 키보드 z 키를 누르면 그림 한 장을 표시합니다
pushbutton을 누르면 좌표를 표시하고 커서를 아이콘으로 사용자 정의합니다
코드는 다음과 같습니다.
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtWidgets/QMainWindow>
#include "ui_mainwindow.h"
#include <QMouseEvent>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
public:
void mouseMoveEvent(QMouseEvent *);
void keyPressEvent(QKeyEvent *);
private:
Ui::MainWindowClass ui;
};
#endif // MAINWINDOW_H
//mianwindow.cpp
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
ui.label->setText(tr("push the key: z"));
ui.pushButton->setText(tr("try to press the mouse and to move "));
}
MainWindow::~MainWindow()
{
}
void MainWindow::mouseMoveEvent(QMouseEvent *e)
{
QCursor my(QPixmap("C:/Users/sony/Desktop/practice/1/Win32/Debug/bubble.png"));
QApplication::setOverrideCursor(my);
int x = e->pos().x();
int y = e->pos().y();
ui.pushButton->setText(tr("mouse:(%1,%2)").arg(x).arg(y));
ui.pushButton->move(e->pos());
}
void MainWindow::keyPressEvent(QKeyEvent *e)
{
if(e->key() == Qt::Key_Z)
{
ui.label->setPixmap(QPixmap("C:/Users/sony/Desktop/pic/Lena.jpg"));
ui.label->resize(100, 100);
}
}
//main.cpp
#include "mainwindow.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.