事件:事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者动作的统称。Qt中使用一个对象来表示一个事件,继承自QEvent类。
注意:事件与信号并不相同,事件与信号是两个不同层面的东西,发出者不同,作用也不同。
案例要实现的功能:
- 通过设置键盘的快捷键来切换另一个窗口
- 通过鼠标左键点击界面来改变窗口的大小(每点击一次窗口就会在变大和变小之间切换)。
案例实现的步骤:
1、功能1的实现
#include "mainwindow.h"
QApplication a(argc, argv);
MainWindow w;
#include "QKeyEvent"//添加键盘事件类
protected: //键盘事件函数声明
void keyPressEvent(QKeyEvent *event);
#include "widget.h"
void MainWindow::keyPressEvent(QKeyEvent *event){
if(event->modifiers()==Qt::ControlModifier){
if(event->key()==Qt::Key_N){
Widget *w1=new Widget(this);//新建一个对象
w1->show();
}
}
}
- 到这里利用键盘的快捷键来切换另一个窗口的事件就完成了,运行一下:
初始界面如下:
- 按下ctrl+N 组合键,界面发生了变化:
由于widget界面放到了mainwidow中了,没有单独产生一个界面,所以widget界面显示在了mainwidow界面中了,就像俄罗斯套娃一样套起来了。
2、功能2的实现
#include "QMouseEvent"//添加鼠标事件类
protected: //鼠标事件函数声明
void mousePressEvent(QMouseEvent *event);
void MainWindow::mousePressEvent(QMouseEvent *event){
if(event->button()==Qt::LeftButton){//事件判断
if(windowState()!=Qt::WindowFullScreen)
setWindowState(Qt::WindowFullScreen);
else
setWindowState(Qt::WindowNoState);
}
}
🎆🎈到此结束的啦🎈🎆
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74939.html