qt如何设置窗体右下角为锚点?

加盾男爵 2017-07-26 04:26:31
现在有个窗体,在程序运行过程中高度会有变化,现在需要把这个窗体安装到父窗体的某个位置
dialogs->move(100,100);

这里是把dialogs的左上角定位到父窗体的坐标100,,100上,那有没有办法把右下角固定到父窗体的坐标100,100这个点上?
...全文
477 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
加盾男爵 2017-07-27
  • 打赏
  • 举报
回复
引用 1 楼 C_522 的回复:
目的是把右下角固定到父窗体的坐标100,100这个点; 也就是相当于左上角 的坐标为( 100 - dialogs->width(), 100 - dialogs->height() ); 左上角坐标知道了,直接move过去就行了。
我试了一下,在dialogs里添加了一个信号sizeChange();这个信号在resize事件中发射

void dialogs::resizeEvent(QResizeEvent* e)
{
  e->accept();
  emit sizechange()
}
然后在主程序里添加一个槽和这个信号连接

void resetDialogsPos()
{
  int h = dialogs->height();
  dialogs->move(100,100-h);
}
这个窗体只有高度会变化,所以这里只移动Y轴,但是窗体名没有以左下角作为固定点,而是有点便宜,每当窗体大小变化是,窗体的最下侧总会上下移动一小段距离,名没有完全按照左下角固定
C_522 2017-07-27
  • 打赏
  • 举报
回复
目的是把右下角固定到父窗体的坐标100,100这个点; 也就是相当于左上角 的坐标为( 100 - dialogs->width(), 100 - dialogs->height() ); 左上角坐标知道了,直接move过去就行了。

16,216

社区成员

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

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