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

手机销售网站建设项目书中国网评中国网评

手机销售网站建设项目书,中国网评中国网评,北京标识设计制作,常用的网站建设程序有那些目录 代码⽰例: 使⽤ 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/450378.html

相关文章:

  • 自己怎么做视频网站2345网址导航浏览器
  • 我想在购物网站做代理大众网疫情最新消息
  • 大数据 做网站流量统计市场调研报告怎么写
  • 网站建设中 gif厦门人才网
  • 甘肃城乡建设局安全质量网站杭州企业seo
  • 怎样建小型网站济南疫情最新情况
  • 网站的优化 设计站长之家最新域名查询
  • 上网站乱码360手机优化大师安卓版
  • 传奇私服发布网网站建设注册域名在哪里注册
  • wordpress公司网站插件网络营销专业是干嘛的
  • 公众号推送怎么制作长沙做优化的公司
  • 美女做暖暖视频的网站seo域名综合查询
  • 做网站需要提供什么资料推广自己的产品
  • 个人购物网站备案哈尔滨网络推广优化
  • 湛江建设企业网站b站不收费网站
  • 那个网站教你做毕设的seo是什么服务
  • 网页微信版收藏健山东seo
  • 做购物网站的开题报告seo教程seo教程
  • 虚拟机做网站有用吗互动营销名词解释
  • 哪里网站建设公司好曹操博客seo
  • 什么网站可以做翻译兼职seo排名优化公司
  • 访问网站的原理常用的搜索引擎有哪些?
  • 表白网站是怎么做的网站推广关键词工具
  • 网站开发职业定位产品推广方式
  • 红桥网站建设公司站长工具ip查询
  • 江镇做包子网站新网站百度seo如何做
  • 制作网站的模板下载软件百度新闻搜索
  • 一台ip做两个网站google登录入口
  • 网站建设 010关键词推广优化外包
  • 广西网站建设运营费用电商平台哪个最好最可靠