• 4916阅读
  • 9回复

请问如何将窗口设置为不可移动(保留标题栏)? [复制链接]

上一主题 下一主题
离线kerry_wei
 
只看楼主 倒序阅读 楼主  发表于: 2010-03-10
  是不是只有重载move()函数来实现? 如何过滤掉标题栏的移动事件?  有没有直接设置属性的函数 ?我试过setwindowflags,里面大部分都是去掉标题栏的,我需要保留标题栏,希望各位大虾指点
离线kerry_wei
只看该作者 1楼 发表于: 2010-03-10
重载了moveevent(), 在里面什么都不写,以及写event->setaccept(false)都不对,该怎么做啊? 急....
离线kerry_wei
只看该作者 2楼 发表于: 2010-03-10
在线等
离线yangfanxing
只看该作者 3楼 发表于: 2010-03-10
dragMoveEvent相关试试看。
PHPWind好恶心。。。不想看这种界面。。。
离线kerry_wei
只看该作者 4楼 发表于: 2010-03-10
dragMoveEvent函数我试过了 ,函数体里面写的是event->ignore()或者event->setaccept(false),还是可以移动;不知道怎么弄了
离线kerry_wei
只看该作者 5楼 发表于: 2010-03-10
急....
离线kerry_wei
只看该作者 6楼 发表于: 2010-03-10
move和setgeometry到固定位置,我都试过了,重载mouseMoveEvent()
如果是重载moveEvent(),setgeometry到固定位置,就会闪烁 ,程序最后死掉;
哪位大虾能不能贴代码上来看看,帮帮忙...
离线hehui

只看该作者 7楼 发表于: 2010-03-17
在收到moveEvent时,窗体已经到了新位置!

大体思路:
定义一个私有变量QPoint oldPos;
在构造函数或适当的地方初始化oldPos为你想要固定的位置,
在moveEvent里判断oldPos是否和pos()相等,如果不相等则move(oldPos);
离线kerry_wei
只看该作者 8楼 发表于: 2010-03-22
试过楼上说的方法了,窗口会突然从新位置弹回到初始化位置,这样不行耶....
离线robertkun

只看该作者 9楼 发表于: 2010-03-22
重写mouseMoveEvnet 事件应该就可以了,

可以参考一下这个:http://www.qtcn.org/bbs/read.php?tid=24865

飘过~
                                              简单的生活使人快乐!
快速回复
限100 字节
 
上一个 下一个