当前位置: 首页 > wzjs >正文

番禺商城网站建设网站建设方案设计书

番禺商城网站建设,网站建设方案设计书,哪个网站做衣服的,wordpress 升级数据库目录 代码⽰例: 使⽤ QVBoxLayout 管理多个控件. 代码⽰例: 创建两个 QVBoxLayout 布局管理器 之前使用Qt在界面上创建的控件,都是通过"绝对定位"的方式来设定的. 也就是每个控件所在的位置,都需要计算坐标,最终通过setGeometry或者move方式摆放过去. 这种…

目录

代码⽰例: 使⽤ QVBoxLayout 管理多个控件.

代码⽰例: 创建两个 QVBoxLayout

布局管理器
之前使用Qt在界面上创建的控件,都是通过"绝对定位"的方式来设定的.
也就是每个控件所在的位置,都需要计算坐标,最终通过setGeometry或者move方式摆放过去.
这种设定方式其实并不方便,尤其是界面如果内容比较多,不好计算,而且一个窗口大小往往是可以调整
的,按照绝对定位的方式,也无法自适应窗口大小.
因此Qt引入"布局管理器"(Layout)机制,来解决上述问题,
当然, 布局管理器并⾮ Qt 独有. 其他的 GUI 开发框架, 像 Android, 前端等也有类似的机制

垂直布局
使⽤ QVBoxLayout 表⽰垂直的布局管理器. V 是 vertical 的缩写.

核⼼属性
属性说明
layoutLeftMargin左侧边距
layoutRightMargin右侧边距
layoutTopMargin上方边距
layoutBottomMargin下方边距
layoutSpacing相邻元素之间的间距

 Layout 只是⽤于界⾯布局, 并没有提供信号.

代码⽰例: 使⽤ QVBoxLayout 管理多个控件.

1) 编写代码, 创建布局管理器和三个按钮. 并且把按钮添加到布局管理器中.
使⽤ addWidget 把控件添加到布局管理器中.
使⽤ setLayout 设置该布局管理器到 widget 中.
2) 运⾏程序, 可以看到此时界⾯上的按钮就存在于布局管理器中. 随着窗⼝尺⼨变化⽽发⽣改变.
此时三个按钮的尺⼨和位置, 都是⾃动计算出来的

通过上述代码的⽅式, 只能给这个 widget 设定⼀个布局管理器. 实际上也可以通过 Qt Design 在⼀个窗 ⼝中创建多个布局管理器.

代码⽰例: 创建两个 QVBoxLayout

1) 在界⾯上创建两个 QVBoxLayout , 每个 QVBoxLayout 各放三个按钮.
2) 运⾏程序, 可以看到这些按钮已经⾃动排列好. 只不过当前这些按钮的位置不能随着窗⼝⼤⼩⾃动变化

 

通过 Qt Designer 创建的布局管理器, 其实是先创建了⼀个 widget, 设置过 geometry 属性
的. 再把这个 layout 设置到这个 widget 中.
实际上, ⼀个 widget 只能包含⼀个 layout.
打开 ui ⽂件的原始 xml, 可以看到其中的端倪.
这种情况下 layout 并⾮是窗⼝ widget 的布局管理器, 因此不会随着窗⼝⼤⼩改变
#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 创建三个按钮, 使用垂直布局管理器管理起来QPushButton* button1 = new QPushButton("按钮1");QPushButton* button2 = new QPushButton("按钮2");QPushButton* button3 = new QPushButton("按钮3");// 创建布局管理器QVBoxLayout* layout = new QVBoxLayout();layout->addWidget(button1);layout->addWidget(button2);layout->addWidget(button3);// 把布局管理器添加到窗口中.this->setLayout(layout);}Widget::~Widget()
{delete ui;
}

 

之前把控件放到界面上,都是靠“手动”的方式来布局的~~
这种手动调整的方式是不科学的!!
1.手动布局的方式非常复杂,而且不精确.
2.无法对窗口大小进行自适应~~
布局管理器~~


Qt中提供了很多种布局管理器~~
1.垂直布局~~
2.水平布局~
3. 网格布局
4. 表单布局


每个widget中只能设置一个布局管理器.


如果在代码中创建layout,其实是只创建了一个layout.
如果在QtDesigner中创建的layout,先创建了一个Widget,然后再在这个新的Widget中添加了一个layout.

layout标签表示的是布局管理器的本体.
外面自动创建出了一个Widget
每个layout里面又可以包含若干个item(也就是一个按钮)

 刚才是先拖了layout过去,然后再往layout中拖其他控件.
也可以先拖其他控件,后给这些控件套上layout~~


把选中的若干控件外头套上一个垂直布局的layout

 

 

http://www.dtcms.com/wzjs/531983.html

相关文章:

  • 营销网站建设的重要性线上宣传方式有哪些
  • 找兼职h5网站开发人员最新长尾关键词挖掘
  • java网站开发sem竞价推广代运营收费
  • 网站被同行抄袭怎么办站长统计网站大全
  • java快速建站时事政治2023最新热点事件
  • 做网站客户给不了素材seo营销技巧培训班
  • 在凡科做的网站怎么推广西安今日头条新闻消息
  • 高端网站建设案例谷歌搜图
  • 自适应和响应式网站网站推广的方法和途径
  • 做断桥铝门窗网站电商怎么做?如何从零开始学做电商赚钱
  • 网站调研方法有哪些内容百度首页网址
  • 青海网站制作seo百度快速排名
  • 企业网站公安备案吗网络促销策略
  • 网站建设所属行业上海网络seo优化公司
  • wordpress 评论 插件南宁seo标准
  • 做php网站用什么软件开发网络推广工作内容
  • 重庆巴南网站制作互联网推广
  • 深圳坑梓网站建设公司seo网络优化师
  • 网站建设 维护 运营情况报告文明seo技术教程网
  • 网站开发的wbs分解图哪里有营销策划培训班
  • 静态中英文网站怎么做站长工具seo综合查询5g
  • 自己做网站自己做SEO怎么做
  • 做聚类热图的网站四川成都最新消息
  • 网站建设公司宣传文案现在最好的营销方式
  • 网站开发前段和后端互动营销的方式有哪些
  • 中国著名的做网站渗透海外推广解决方案
  • facebook 网站开发在线html5制作网站
  • 做好网站建设总结上海自动seo
  • 网站制作网站引流推广的句子
  • 网站建设前提江门搜狗网站推广优化