QT Layout 布局的重要性

前一段时间,开始学习 QT 时,自己尝试着布局一个串口通讯的窗体。

布局完后,也在不同的电脑(笔记本和工作用台式机)上试了,都没有什么问题:布局是正常的。但是无意中,在 Surface 3 上打开此工程后,发现布局显示混乱了。具体如下的帖子中的描述:QT 5.3.1 拖出来的UI布局,为什么在不同的电脑上显示差别那么大?

按此帖子中朋友的建议,将布局了的控件进行了 Layout。由于之前没有什么过 Layout,布局的过程中也遇到了不少的问题。但最后还是布局出一个达到自己想要的效果,具体的效果如下图所示:

说一说 Layout 过程中遇到的问题吧:

1) 没有放置 Vertical Space 时,左侧的几个 Vertival Layout 会随窗体的大小变化后位置发生变化。最后放弃了此布局,重要布局。

2) 重新布局后,左侧的几个 Vertical Layout 的位置不再随窗体的大小而变化,但右侧的 Edit 的大小也不会随窗体大小的变化而变化。这也不是偶想要的效果!

3) 继续在 2) 布局的基础上研究发现,想要右侧的 Edit 控件随窗体大小的变化,就需要在窗体上按鼠标右键,然后依次选择:“布局”->“水平布局”(或者其它布局)。这样,放置在窗体上的控件和 Layout 就会随窗体的大小而发生“一定”的变化。

4) 放置 Vertical Space 是为了让其占用“多余”的空白。

时间: 2024-11-01 03:47:22

QT Layout 布局的重要性的相关文章

QT之布局管理器(十九)

我们在之前的 GUI 开发中都是使用的是绝对定位,何谓绝对定位呢?就是我们直接在像素级指定各个组件的位置和大小.比如我们之前使用的 void QWidget::move(int x, int y):void QWidget::resize(int w, int h):这样存在的问题就是组件的位置和大小无法自适应父窗口的变化. 我们先来看看绝对定位的代码和效果是怎样的?头文件代码如下: #include <QWidget> #include <QPushButton> class W

【Android】Android Layout Binder——根据layout布局文件自动生成findViewById的java代码的神器

Android Layout Binder是一个网站,能够在线的根据layout布局文件自动生成findViewById的java代码. 网址是http://android.lineten.net/layout.php 如图:

ASP.NET MVC3 系列教程 – 新的Layout布局系统

原文地址:http://www.cnblogs.com/highend/archive/2011/04/18/asp_net_mvc3_layout.html I:回忆MVC2当中MasterPage那些事 code: <!------------Begin--------------> <!-- Master文件 --> <%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPa

android layout布局属性

参考:http://blog.csdn.net/msmile_my/article/details/9018775 第一类:属性值 true或者 false           android:layout_centerHrizontal 水平居中     android:layout_centerVertical 垂直居中     android:layout_centerInparent 相对于父元素完全居中     android:layout_alignParentBottom 贴紧父元

jQuery Easy UI Layout(布局)组件

layout 布局组件,依赖于panel,自己开发个web小程序的时候直接用这个组件布局很方便. 对于一个web程序原来说,特别是像我这种一遇到界面美化问题就找美工的程序员,想自己独立的开发一个东西,除了套用以前的项目中的界面布局之外就没别的 办法了,虽然我们可以用ifame切分出一个界面布局,但是我不会添加样式啊.使用layout组件就可以帮我们快速的有一个界面布局,而且美观效果也看得过去. 看个例子: <!doctype html> <html lang="en"

Layout布局(tabs、accordion、layout)

一.tabs选项卡: 二.accordion手风琴: 三.经由div标记创建layout布局: 注意:center不是定位得到的,而是通过其他的几个位置计算得到的,如果不写center整个布局就无法初始化出来

Android 布局学习之——Layout(布局)具体解释二(常见布局和布局參数)

 [Android布局学习系列]   1.Android 布局学习之--Layout(布局)具体解释一   2.Android 布局学习之--Layout(布局)具体解释二(常见布局和布局參数)   3.Android 布局学习之--LinearLayout的layout_weight属性   4.Android 布局学习之--LinearLayout属性baselineAligned的作用及baseline    Layout Parameters(布局參数): 在XML文件里,我们常常看到类

Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)

[Android布局学习系列]   1.Android 布局学习之——Layout(布局)详解一   2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)   3.Android 布局学习之——LinearLayout的layout_weight属性   4.Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline    Layout Parameters(布局参数): 在XML文件中,我们经常看到类似与lay

第二百零二节,jQuery EasyUI,Layout(布局)组件

jQuery EasyUI,Layout(布局)组件 学习要点: 1.加载方式 2.布局属性 3.区域面板属性 4.方法列表 本节课重点了解 EasyUI 中 Layout(布局)组件的使用方法,这个组件依赖于 Panel(面 板)组件和 resizable(调整大小)组件. 一.加载方式 class 加载方式,这个属性一般使用class方法使用 <body id="box" class="easyui-layout"> <div data-opt