Qt 中怎么设置Dialog位置

cyp06053308 2013-08-28 04:57:33
Dialog的父窗体是MainWindow,我希望该Dialog显示在mainwindow的中间,请大家指点
...全文
3907 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
二狗蹲坑 2013-09-04
  • 打赏
  • 举报
回复
引用 12 楼 vince025 的回复:
[quote=引用 10 楼 hqw19881118 的回复:] 直接设置,上代码:
dialog.setGeometry(mainWindow.x()+(mainWindow.width()-dialog.width())/2,
mainWindow.y()+(mainWindow.heigh()-dialog.height())/2, 200, 150);
改成这样会不会好点呢?
dialog.setGeometry(parent.x()+(parent.width()-width())/2,
parent.y()+(parent.heigh()-height())/2, width(), height());
[/quote] 呵呵,好像不行.
二狗蹲坑 2013-09-04
  • 打赏
  • 举报
回复
引用 10 楼 hqw19881118 的回复:
直接设置,上代码:
dialog.setGeometry(mainWindow.x()+(mainWindow.width()-dialog.width())/2,
mainWindow.y()+(mainWindow.heigh()-dialog.height())/2, 200, 150);
改成这样会不会好点呢?
dialog.setGeometry(parent.x()+(parent.width()-width())/2,
parent.y()+(parent.heigh()-height())/2, width(), height());
cyp06053308 2013-09-04
  • 打赏
  • 举报
回复
用move是可以的
hqw19881118 2013-09-01
  • 打赏
  • 举报
回复
直接设置,上代码:
dialog.setGeometry(mainWindow.x()+(mainWindow.width()-dialog.width())/2,
mainWindow.y()+(mainWindow.heigh()-dialog.height())/2, 200, 150);
davidsu33 2013-08-31
  • 打赏
  • 举报
回复
使用move到MainWindow的QSize的中心即可搞定。
cyp06053308 2013-08-30
  • 打赏
  • 举报
回复
有没别的方法,这种方法我这边不太适用
  • 打赏
  • 举报
回复
setGeometry 计算一下Mainwindow的位置设置一下
醉过方知酒烈 2013-08-30
  • 打赏
  • 举报
回复
你还是直接setGeometry 设置吧
jdwx 2013-08-29
  • 打赏
  • 举报
回复
引用 4 楼 cyp06053308 的回复:
[quote=引用 3 楼 jdwx1 的回复:] dialog dlg(this); dlg.exec(); 这样就可以了,关键在this。 有这个this,dlg在父窗口中间,没有this,dlg在屏幕中间。
加this后。dialog是随着mainwindow移动而移动,但是并不是在中间的[/quote] 我还以为写错了,特意回去试了试,没错好用。 windows7 + Qt5.1.0 + vs2010
cyp06053308 2013-08-29
  • 打赏
  • 举报
回复
引用 3 楼 jdwx1 的回复:
dialog dlg(this); dlg.exec(); 这样就可以了,关键在this。 有这个this,dlg在父窗口中间,没有this,dlg在屏幕中间。
加this后。dialog是随着mainwindow移动而移动,但是并不是在中间的
jdwx 2013-08-28
  • 打赏
  • 举报
回复
dialog dlg(this); dlg.exec(); 这样就可以了,关键在this。 有这个this,dlg在父窗口中间,没有this,dlg在屏幕中间。
海的神话 2013-08-28
  • 打赏
  • 举报
回复
setCentralWidget ( QWidget * widget )
xiuxianshen 2013-08-28
  • 打赏
  • 举报
回复
setGeometry

16,815

社区成员

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

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