门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
图形动画
›
qt5.5.1 QOpenGLWidget刷新问题
发布主题
返回列表
qt5.5.1 QOpenGLWidget刷新问题
1
回复
10328
查看
[复制链接]
qtMaster
当前离线
积分
6
qtMaster
累计签到:2 天
连续签到:1 天
来源:
2017-1-18 21:14:36
显示全部楼层
|
阅读模式
1
Qter豆
我从QOpenGlWidget继承了自己的类
重写了paintGL()resizeGL()和initialGL()几个函数
在paintGL中绘图,一切正常。
重写了wheelEvent(),在里面控制投影矩阵,试图实现图形缩放
可是在编译后滚动鼠标滚轮时,wheelEvent被正常出发,在这里我调用了update函数,试图更新视图,可是不起作用
当然,在把图形窗口最大化、复原之类的操作后,图形正常缩放了。
我的问题是,怎么实现滚动鼠标滚轮时实时刷新视图??
求高手指点。
我来回答
回复
使用道具
举报
stark123
当前离线
积分
5
stark123
累计签到:3 天
连续签到:1 天
2018-6-18 17:16:35
显示全部楼层
类的头文件中要加 一句 宏 Q_OBJECT
要不就是 wheelEvent()的问题
给你一个例子:
void Glwidget::wheelEvent(QWheelEvent*event)
{
if(event->angleDelta().y()>0)
{
fov+=1;
}
else if(event->angleDelta().y()<0)
{
fov-=1;
}
if(fov>45.0f)
fov=45.0f;
if(fov<0.0f)
fov=0.0f;
update();
}
fov 变量作为perspective函数的第一个参数
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了