• 7041阅读
  • 5回复

请教下qt布局中的对齐问题 [复制链接]

上一主题 下一主题
离线dai_lixing
 

只看楼主 倒序阅读 楼主  发表于: 2014-02-24
大家好, 我想在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);
发现这样不行, 还是感觉乱七八糟的布局,请教下应该如何做,谢谢!


急啊。。。。。。。。
请教下。。。。。
离线kimtaikee

只看该作者 1楼 发表于: 2014-02-24
是这样的要求?

离线dai_lixing

只看该作者 2楼 发表于: 2014-02-24
谢谢恢复,大概是这样的, 但ptn4好像没有在中央,而是在中央偏右侧了。
离线kimtaikee

只看该作者 3楼 发表于: 2014-02-24
  1. QHBoxLayout *hlayout=new QHBoxLayout();
  2.     QPushButton *ptn1=new QPushButton("ptn1");
  3.     QPushButton *ptn2=new QPushButton("ptn2");
  4.     QPushButton *ptn3=new QPushButton("ptn3");
  5.     QPushButton *ptn4=new QPushButton("ptn4");
  6.     QPushButton *ptn5=new QPushButton("ptn5");
  7.     hlayout->addWidget(ptn1);
  8.     hlayout->addWidget(ptn2);
  9.     hlayout->addWidget(ptn3);
  10.     hlayout->addStretch(1);
  11.     hlayout->addWidget(ptn4);
  12.     hlayout->addStretch(2);
  13.     hlayout->addWidget(ptn5);
  14.     setLayout(hlayout);

你调用addStretch调整一下。

离线dai_lixing

只看该作者 4楼 发表于: 2014-02-24
哦,谢谢回复,我用你的代码,发现五个按钮平均放置在界面上,好像没有哪个哪个居中,哪个在右边?
离线dai_lixing

只看该作者 5楼 发表于: 2014-02-24
谢谢kimtaikee, 你的这样的方法是对的,是我对addStretch 理解的不透,呵呵, 看过http://blog.klniu.com/post/qt-interesting-applications-in-addstretch/ 才明白, 谢谢了
快速回复
限100 字节
 
上一个 下一个