由于每次代码都是在原有程序上修改,因此除了新建项目,不然一般会在学完后统一展示代码。
提示:具体项目创建流程和注意事项见
QT 学习笔记(一)
提示:具体项目准备工作和细节讲解见
QT 学习笔记(二)
函数 | 功能 |
---|---|
keyPressEvent() | 键盘按下 |
keyReleaseEvent() | 键盘抬起 |
mouseDoubleClickEvent() | 鼠标双击 |
mouseMoveEvent() | 鼠标移动 |
mousePressEvent() | 鼠标按下 |
mouseReleaseEvent() | 鼠标抬起 |
//鼠标点击事件
void mylabel::mousePressEvent(QMouseEvent *ev)
{
int i=ev->x();
int j=ev->y();
//sprinf 字符串格式化命令
/*
* QString str = QString("abc %1 ^_^ %2").arg(123).arg("mike");
* str = abc 123 ^_^ mike
*/
QString text = QString("mouse press:(%1,%2)
")
.arg(i).arg(j);
// center 居中,h1 一级标题
this->setText(text);
}
//鼠标释放事件
void mylabel::mouseReleaseEvent(QMouseEvent *ev)
{
QString text = QString("mouse release:(%1,%2)
")
.arg(ev->x()).arg(ev->y());
this->setText(text);
}
//鼠标移动事件
void mylabel::mouseMoveEvent(QMouseEvent *ev)
{
QString text = QString("mouse move:(%1,%2)
")
.arg(ev->x()).arg(ev->y());
this->setText(text);
}
//进入窗口区域
void mylabel::enterEvent(QEvent *e)
{
QString text = QString("mouse enter
");
this->setText(text);
}
//离开窗口区域
void mylabel::leaveEvent(QEvent *e)
{
QString text = QString("mouse leave
");
this->setText(text);
}
//键盘按下事件
void myWidget::keyPressEvent(QKeyEvent *e)
{
qDebug()<<(char)e->key();
if(e->key()==Qt::Key_A)
{
qDebug()<<"Qt::Key_A";
}
}