在dialog中添加了qaxwidget播放swf,并且是铺满了的dialog

gldcpp 2015-10-11 03:40:59
dialog 还有lineedit和pushbutton,我用raise()可以显示,pushbutton也能接收点击,但是lineedit不能输入了,该怎么解决呢?
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gldcpp 2015-10-11
  • 打赏
  • 举报
回复
重写了qaxwidget , void myaxwid::mousePressEvent(QMouseEvent *event) { emit sendpress(event); } void myaxwid::mouseMoveEvent(QMouseEvent *event) { emit sendmove(event); } 在主窗口里连接 myaxwid *ax=new myaxwid(this); ax->setGeometry(0,0,300,300); // ax->setControl("{d27cdb6e-ae6d-11cf-96b8-444553540000}"); connect(ax,SIGNAL(sendpress(QMouseEvent*)),this,SLOT(getpressevent(QMouseEvent*))); connect(ax,SIGNAL(sendmove(QMouseEvent*)),this,SLOT(getreleseevent(QMouseEvent*))); 并在槽函数里实现移动 void Dialog::getpressevent(QMouseEvent *event) { if(event->button()==Qt::LeftButton) { pressGlobal=event->globalPos(); leftbtnpress=true; } event->ignore(); } void Dialog::getreleseevent(QMouseEvent *event) { if(leftbtnpress) { moveGlobal=event->globalPos(); this->move(this->pos()+moveGlobal-pressGlobal); pressGlobal=moveGlobal; } event->ignore(); } 问题来了 当我不使用setcontrol函数时一切正常,一旦设置以后就不能移动了 救命啊!!!
gldcpp 2015-10-11
  • 打赏
  • 举报
回复
同时qaxwidget还会遮挡主dialog对鼠标事件的接收,我想在将qaxwidget的鼠标事件传给主dialog,但这应该还要涉及到坐标转化,有没有更简单的方法呢? 鼠标事件用于移动窗口的 原本dialog的标题栏我隐藏了
gldcpp 2015-10-11
  • 打赏
  • 举报
回复
这个qaxwidget我是直接show()在主dialog上的,当我show的时候如果设置qaxwidget大小大于或者等于主dialog,那么lineedit可以正常输入,但是当qaxwidget大小大于dialog时,lineedit就不能输入了

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧