• 全部
...

请教下qt布局中的对齐问题

sno_guo 2014-02-24 02:57:51
大家好, 我想在Qt的代码中增加一排5个按钮, 其中3个是在最左边, 第四个在中间,第5个在最右边。我的布局如下
  1. setFixedSize(800,80);
  2. QHBoxLayout *hlayout=new QHBoxLayout();
  3. QPushButton *ptn1=new QPushButton("ptn1");
  4. QPushButton *ptn2=new QPushButton("ptn2");
  5. QPushButton *ptn3=new QPushButton("ptn3");
  6. QPushButton *ptn4=new QPushButton("ptn4");
  7. QPushButton *ptn5=new QPushButton("ptn5");
  8. hlayout->addWidget(ptn1);
  9. hlayout->addWidget(ptn2);
  10. hlayout->addWidget(ptn3);
  11. hlayout->addWidget(ptn4,0, Qt::AlignCenter);
  12. hlayout->addWidget(ptn5);
  13. setLayout(hlayout);


这样发现, 要么第四个在偏左边一点,要么偏右边一点,用addStretch(1);感觉也是没有用,始终有点偏移,请问下, 应该如何做,谢谢!
...全文
给本帖投票
1389 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sno_guo 2014-02-24
  • 打赏
  • 举报
回复
谢谢大家了,是这样的, 看过http://blog.klniu.com/post/qt-interesting-applications-in-addstretch/才明白原来是我对addstretch的理解不对,谢谢各位了 结贴 !!
一去丶二三里 2014-02-24
  • 打赏
  • 举报
回复
hlayout->addWidget(ptn1); hlayout->addWidget(ptn2); hlayout->addWidget(ptn3); hlayout->addStretch(); hlayout->addWidget(ptn4); hlayout->addStretch(); hlayout->addWidget(ptn5); hlayout->setSpacing(10); //设置按钮的间距为10 hlayout->setContentMargins(10, 10, 10, 10); //设置布局距离左、上、右、下的距离分别为10、10、10、10
从来不作 2014-02-24
  • 打赏
  • 举报
回复
如果可以,在qt designer中手动调整位置,要不就手动写代码指定控件位置。

16,798

社区成员

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

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

手机看
关注公众号

关注公众号

客服 返回
顶部