如何实现一个窗口跟随另一个窗口移动?

[复制链接]
查看11 | 回复3 | 2021-1-27 07:14:39 | 显示全部楼层 |阅读模式

如图,输入窗口是lineEdit,下面弹出的是QListView。
我现在移动整个主窗口,使QlistView随着主窗口一起移动,该怎么做呢?
跪求大神支招...
谢谢~

我试过重载moveEvent
估计是重载的方式不对,但是移动主窗口时无效...
voidCompleteLineEdit::moveEvent(QMoveEvent*e)
{
QPointp(e->pos());
intx=mapToGlobal(p).x();
inty=mapToGlobal(p).y()+1;
listView->move(x,y);
}

分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:14:39 | 显示全部楼层
应该是在主窗口的moveEvent(QMoveEvent*e)发送位置改变的信号给CompleteLineEdit,然后改变listView的位置
回复

使用道具 举报

千问 | 2021-1-27 07:14:39 | 显示全部楼层
configureEvent
回复

使用道具 举报

千问 | 2021-1-27 07:14:39 | 显示全部楼层
尝试通过窗体的移动事件,改变listView的位置。
#include
#defineOFFSET1
//在构造中设置窗体的MouseTracking属性
this->setMouseTracking(true);
//重载窗体mouseMoveEvent
voidYourWidget::mouseMoveEvent(QMouseEvent*e)
{
QPointp(e->pos());
intx=mapToGlobal(p).x();
inty=mapToGlobal(p).y()+OFFSET;
listView->move(x,y);
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行