动态生成布局

feng199 2014-12-06 07:58:47
动态生成布局,以下代码报错

QWidget *QWidget1 = new QWidget;
QWidget1->setGeometry(QRect(0,0,200,200));

QVBoxLayout *hlayout1=new QVBoxLayout();
QWidget1->setLayout(hlayout1);
//ui->centralWidget->layout()->addWidget(QWidget1); 此句无法执行
...全文
197 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldmtn 2014-12-09
  • 打赏
  • 举报
回复
void addLayout(QLayout * layout, int stretch = 0) 在你addLayout的时候,就可以将stretch设置好了。
feng199 2014-12-09
  • 打赏
  • 举报
回复
非常感谢您! QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->addLayout(hlayout1); mainLayout->addLayout(hlayout2); mainLayout->addLayout(hlayout3); mainLayout->setStretch(0,3);//这里怎么设置2,6,2的比例?还有怎么让mainLayout最大化,填满整个窗口? ui->centralWidget->setLayout(mainLayout);
oldmtn 2014-12-08
  • 打赏
  • 举报
回复
你使用设计师做啊
oldmtn 2014-12-08
  • 打赏
  • 举报
回复
feng199 2014-12-08
  • 打赏
  • 举报
回复
不是,我贴那个代码,就是想要那样的结果。 言归正传,如果要动态生成3栏的布局,1栏20%,2栏60%,3栏20%,要怎么创建?
oldmtn 2014-12-06
  • 打赏
  • 举报
回复
报什么错误? 估计你的centralWidget此时还没有layout吧,,
feng199 2014-12-06
  • 打赏
  • 举报
回复
引用 1 楼 oldmtn 的回复:
报什么错误? 估计你的centralWidget此时还没有layout吧,,
运行后,程序自动关闭。提示:程序异常结束。
feng199 2014-12-06
  • 打赏
  • 举报
回复
想建立下面的效果,该怎么在centralWidget中,再添加Widget: <widget class="QWidget" name="centralWidget"> <widget class="QWidget" name="verticalLayoutWidget"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>200</width> <height>200</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout"/> </widget> <widget class="QWidget" name="verticalLayoutWidget_2"> <property name="geometry"> <rect> <x>200</x> <y>0</y> <width>200</width> <height>200</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_2"/> </widget> </widget>

16,212

社区成员

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

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