当前位置: 代码迷 >> QT开发 >> Qt怎么在指定的位置(比如鼠标点击处)弹出一个对话框
  详细解决方案

Qt怎么在指定的位置(比如鼠标点击处)弹出一个对话框

热度:25   发布时间:2016-04-25 04:48:02.0
Qt如何在指定的位置(比如鼠标点击处)弹出一个对话框
各位大侠。我现在需要实现一个功能,就是当我鼠标点击的时候,在鼠标点击处弹出一个对话框,这个该如何实现呢?还有顺便问下,当我们的UI第一次show出来的时候,我如何指定它在我们桌面上的位置,比如我想让它在桌面的正中间显示出来,这个又如何实现呢?谢谢!

------解决方案--------------------
this->resize(QSize())//大小
this->move()//坐标

重载下mousePressEvent函数,在里面new出一个对话框,并且设置坐标为你鼠标的当前坐标就可以了。
------解决方案--------------------
QDesktopWidget *deskdop;
deskdop=QApplication::desktop();
move((deskdop->width()-this->width())/2,
(deskdop->height()-this->height())/2);
------解决方案--------------------
探讨

QDesktopWidget *deskdop;
deskdop=QApplication::desktop();
move((deskdop->width()-this->width())/2,
(deskdop->height()-this->height())/2);

------解决方案--------------------
哦,楼上的,怎么能简化成一行呢,我感觉最简化是两行,如下:

QDesktopWidget *deskdop=QApplication::desktop();
move((deskdop->width()-this->width())/2, (deskdop->height()-this->height())/2);

------解决方案--------------------
探讨

哦,楼上的,怎么能简化成一行呢,我感觉最简化是两行,如下:

QDesktopWidget *deskdop=QApplication::desktop();
move((deskdop->width()-this->width())/2, (deskdop->height()-this->height())/2);

------解决方案--------------------
参考QPoint QCursor::pos()和 QWidget::move()就能解决了
  相关解决方案