• 8168阅读
  • 11回复

论坛和网上找了半天也没找到,那为先知给弄个客户区拖动窗体的例子 [复制链接]

上一主题 下一主题
离线chongxu
 
只看楼主 倒序阅读 楼主  发表于: 2008-12-09
— 本帖被 XChinux 执行加亮操作(2009-01-06) —
论坛和网上找了半天也没找到,那为先知给弄个客户区拖动窗体的例子,论坛上倒是有个例子。就是弄了半天没起用。http://www.qtcn.org/bbs/read.php?tid=203&keyword=%BF%CD%BB%A7%C7%F8
高手帮帮忙 弄个例子给咱们这种新手看看啊。
[ 此贴被XChinux在2009-01-06 11:54重新编辑 ]
离线chongxu
只看该作者 1楼 发表于: 2008-12-09
怎么最近论坛这么冷啊。
离线nmiirq

只看该作者 2楼 发表于: 2008-12-10
伙计,你的帖发错区了,拖动客户区我没做过,感觉要重写好多函数,比如mouse事件等等~
离线chongxu
只看该作者 3楼 发表于: 2008-12-11
发贴的时候正在哪个区看信息。就顺便发了。
离线water_wf

只看该作者 4楼 发表于: 2008-12-11
没看明白,拖动窗体什么意思?
离线chongxu
只看该作者 5楼 发表于: 2008-12-12
就是 和点标题栏可以拖动整个form一样的效果
离线water_wf

只看该作者 6楼 发表于: 2008-12-12
这个拖动文本块有区别吗
离线nmiirq

只看该作者 7楼 发表于: 2008-12-12
楼主的意思我明白了,我们以前有个模拟器是这样的情况,只要点着客户区不放,拖动就可以把整个程序的界面跟着拖动着走,是不?如果是这样,你重写一下相关的函数就可以了!
离线chongxu
只看该作者 8楼 发表于: 2008-12-18
现在就是不知道对于 QT需要重写那些函数了。。。
离线lazybone
只看该作者 9楼 发表于: 2008-12-18
    protected void mousePressEvent(QMouseEvent e) {
        oldX = e.x();
        oldY = e.y();
        canMove = true;
    }
    boolean canMove ;
    protected void mouseReleaseEvent(QMouseEvent e) {
        canMove = false;
    }

    int oldX = 0;
    int oldY = 0;

    protected void mouseMoveEvent(QMouseEvent e) {
        if (!canMove)
            return;
        move(x() + e.x() - oldX, y() + e.y() - oldY);
    }
[ 此贴被lazybone在2008-12-18 16:55重新编辑 ]
离线stdjgwyc
只看该作者 10楼 发表于: 2008-12-18
受教了
QT交流群群号:2906359,(200人大群,持续升级)
离线chongxu
只看该作者 11楼 发表于: 2008-12-19
引用第9楼lazybone于2008-12-18 16:17发表的  :
    protected void mousePressEvent(QMouseEvent e) {
        oldX = e.x();
        oldY = e.y();
        canMove = true;
    }
.......
谢谢azybone ,这个功能实现了。
快速回复
限100 字节
 
上一个 下一个