新手求教QLayout 布局显示问题

dai1396734 2017-02-14 05:11:39


wid::wid(QWidget *parent):QWidget(parent)
{
resize(400,400);
QPushButton *quit = new QPushButton("Quit",this);
QSlider *slider = new QSlider(Qt::Horizontal );
QLCDNumber *lcd = new QLCDNumber;
cannon *can = new cannon(this);

QVBoxLayout *layout_left=new QVBoxLayout;
layout_left->addWidget(quit);
layout_left->addWidget(lcd);
layout_left->addWidget(slider);
layout_left->addWidget(can);
this->setLayout(layout_left);
}
wid::wid(QWidget *parent):QWidget(parent)
{
resize(400,400);
QPushButton *quit = new QPushButton("Quit",this);
QSlider *slider = new QSlider(Qt::Horizontal );
QLCDNumber *lcd = new QLCDNumber;
cannon *can = new cannon(this);

QVBoxLayout *layout_left=new QVBoxLayout;
layout_left->addWidget(quit);
layout_left->addWidget(lcd);
layout_left->addWidget(slider);
QHBoxLayout *layout =new QHBoxLayout;
layout->addLayout(layout_left);
layout->addWidget(can);
this->setLayout(layout);
}
垂直分布可以显示,为什么水平显示就不行。想显示如下图的样子
...全文
453 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
windywater119 2017-02-27
  • 打赏
  • 举报
回复
整个对话框做成一个2*2的grid layout,column stretch设为(0,1)。左上放quit按钮,左下放一个vertical layout,再分别放上LCD控件、slider和spacer,右上放空,右下放黄色控件。
dai1396734 2017-02-16
  • 打赏
  • 举报
回复
谢谢,有用,但是屏幕变化他的效果就不那么理想咯
  • 打赏
  • 举报
回复
你加上宽度设置试试 wid::wid(QWidget *parent):QWidget(parent) { resize(400,400); QPushButton *quit = new QPushButton("Quit",this); quit->setFixedWidth(100);// QSlider *slider = new QSlider(Qt::Horizontal ); slider->setFixedWidth(100);// QLCDNumber *lcd = new QLCDNumber; lcd->setFixedWidth(100);// cannon *can = new cannon(this); can->setFixedSize(300,300);// QVBoxLayout *layout_left=new QVBoxLayout; layout_left->addWidget(quit); layout_left->addWidget(lcd); layout_left->addWidget(slider); layout_left->addStretch(); // QHBoxLayout *layout =new QHBoxLayout; layout->addLayout(layout_left); layout->addWidget(can); this->setLayout(layout); }
dai1396734 2017-02-15
  • 打赏
  • 举报
回复
不好意思,可能没表达清晰,在表达下:垂直分布也就是第一个函数,可以显示出蓝色图形,也就是第二张图。水平显示也就是第二个函数显示的是第一张图,蓝色图形不见了。我想要显示的是第3张图的样子,是从Qt帮助文档 加农炮说明里面截取的。我试了几种布局的编程,总是达不到理想的效果,找不到原因,求大神指点,。。。对了我的can对象是显示蓝色图形,用的是QPainter
dai1396734 2017-02-15
  • 打赏
  • 举报
回复
就是我想要的是第三副图的效果,第二个函数显示的是第一张图,蓝色的图形显示不出来。
  • 打赏
  • 举报
回复
不明白你在说什么,你的第二个函数不就是你想要显示的效果吗??

16,216

社区成员

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

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