Qt中的QEvent简例
来源:互联网 发布:js设置div隐藏失败 编辑:程序博客网 时间:2024/05/16 17:42
Qt中的事件可以在QEvent中查看。下面我们只是找两个例子来进行简单的演示。
1.还是先建立一个Qt4 Gui Application工程,我这里起名为event。
2.添加代码,让程序中可以使用中文。
即在main.cpp文件中加入#include <QTextCodec>的头文件包含。
再在下面的主函数里添加QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
3.在mainwindow.h文件中做一下更改。
添加#include <QtGui>头文件。因为这样就包含了QtGui中所有的子文件。
在public中添加两个函数的声明
void mouseMoveEvent(QMouseEvent *);
void keyPressEvent(QKeyEvent *);
4.我们在mainwindow.ui中添加一个Label和一个PushButton,将他们拉长点,因为一会要在上面显示标语。
5.在mainwindow.cpp中的构造函数里添加两个部件的显示文本。
ui->label->setText(tr(“按下键盘上的A键试试!”));
ui->pushButton->setText(tr(“按下鼠标的一个键,然后移动鼠标试试”));
6.然后在下面进行两个函数的定义。
/*以下是鼠标移动事件*/
void MainWindow::mouseMoveEvent(QMouseEvent *m)
{//这里的函数名和参数不能更改
QCursor my(QPixmap(“E:/Qt/Qt-Creator-Example/event/time.png”));
//为鼠标指针选择图片,注意这里如果用绝对路径,要用“/”,而不能用“\”
//也可以将图片放到工程文件夹得debug文件夹下,这样用相对路径”time.png”就可以了
QApplication::setOverrideCursor(my);
//将鼠标指针更改为自己设置的图片
int x = m->pos().x();
int y = m->pos().y();
//获取鼠标现在的位置坐标
ui->pushButton->setText(tr(“鼠标现在的坐标是(%1,%2), 哈哈好玩吧”).arg(x).arg(y));
//将鼠标的位置坐标显示在按钮上
ui->pushButton->move(m->pos());
//让按钮跟随鼠标移动
}
/*以下是键盘按下事件*/
void MainWindow::keyPressEvent(QKeyEvent *k)
{
if(k->key() == Qt::Key_A) //判断是否是A键按下
{
ui->label->setPixmap(QPixmap(“E:/Qt/Qt-Creator-Example/event/linux.jpg”));
ui->label->resize(100,100);
//更改标签图片和大小
}
}
注意:这两个函数不是自己新建的,而是对已有函数的重定义,所有函数名和参数都不能改。第一个函数对鼠标移动事件进行了重写。其中实现了鼠标指针的更改,和按钮跟随鼠标移动的功能。
第二个函数对键盘的A键按下实现了新的功能。
- Qt中的QEvent简例
- Qt的QEvent::accept()和QEvent::ignore()
- 【引用】qt QEvent paintEvent
- Qt 基础:QEvent
- Qt之QEvent
- Qt之QEvent
- Qt事件类 QEvent
- Qt控件如何响应QEvent
- Qevent
- Qevent
- Qevent
- Qevent
- QEvent
- Qt中QEvent的过滤和分发
- QT类 Qevent事件处理过程 事件过滤器
- QT类 Qevent事件处理过程 事件过滤器
- Qt模块化笔记之core——事件QEvent
- QT类 Qevent事件处理过程 事件过滤器
- db2 merge into语法
- 黑马程序员-排序和反转
- STM32串口的设置和库函数的介绍
- HDU 1978 How many ways
- DataGrid筛选
- Qt中的QEvent简例
- Ubuntu下deb包的安装方法
- hanoi塔的c语言函数递归实现
- SDL播放wav音频分析
- 如何将vim配置成自己喜欢的IDE
- Error: Error #2014: Feature is not available at this time.
- 每天一个小算法(insertion sort3)
- android小知识3
- Linux基本数据类型大小——int,char,long int,long long int