QT 布局

news/2024/7/8 9:55:16

Qt 布局管理器 基础学习是本文要介绍的内容,学习Qt的时候,参照帮助手册和相关书籍,其中的例子几乎都是手动的编写代码。至于方便设计界面的Qt designer的例子几乎就没有,想在designer中实现子窗口随主窗口大小变化而变化,整的我郁闷了老半天,后来阅读Qt designer英文手册,才找到了解决的方法,在此和大家一起分享。下述文字是帮助的英文翻译和个人感悟。

1.Qt布局管理器的简介

Qt Designer 是一个可视化的基于 Qt 的用户界面设计工具。用来生成 ui 定义文件,而不考虑具体的语言。很好使用,掌握其中的布局管理是学习好Qt Designer的关键。

布局管理器——在创建的窗口中,为了方便地管理其中的控件,而诞生了布局管理器

将各种控件按照实际需要,放在布局管理器中,可以方便地对其进行管理。此后,窗口大小变化时,其将会自动进行调整变化。

如果你将自己创建的控件放在了布局管理器中,那么再想手工的改变控件的大小时就不有自主了。因为布局管理器已经掌控了你的控件,自动替你进行管理了,不需要你进行移动和调整大小了。

如果你觉着布局管理器管理的不够好,那么你可以通过“breaking layouts”来打破原来的布局,自己重新手工布局也行。

此处,我们重点只是讨论Qt designer的布局管理器的使用。

2.Qt designer 布局管理器的使用方法

首先,选中控件,右击之后,弹出的快捷菜单中包括:

HorizontalLayouts and Vertical Layouts,水平和垂直布局;

The Grid Layout ,网格布局;

Splitter Layouts,分割器布局;

The Form Layout,窗体布局。

其中每个布局效果到底怎么样,我建议大家自己去实践,来回地试一试就会找到感觉。一般常常使用的是

  HorizontalLayouts  水平布局

  Vertical Layouts   垂直布局

  The Grid Layout   网格布局

下边通过一个简单的例子来说明。首先在Qt Designer中创建一个MainWindow主窗口,然后在其中添加一个Label和一个Table Widget控件,最终效果如图1-1所示。

Qt 布局管理器 基础学习

图1-1 布局前界面

其次,选中两个控件,右击,弹出快捷菜单,如图1-2所示。

Qt 布局管理器 基础学习

图1-2 设置布局的快捷菜单

再次,选择Lay Out Vertically选项,效果如图1-3所示。

Qt 布局管理器 基础学习

图1-3 选择控件布局后

然后,单击选中主窗口(注意是单击主窗口,先取消对所有控件的选择,只选中主窗口),右击之,在弹出的快捷菜单中选择“Lay Out Vertically”,建立顶级布局管理器。如图1-4所示。

图1-4 设置顶级布局管理器

Qt 布局管理器 基础学习

到此为止,已经完成。保存之后,按Ctrl+R组合键,查看结果,最大化主窗口,观察效果哦。呵呵…注意,要想达到预想的效果,顶级布局管理器的设置是必不可少的哦!



http://www.niftyadmin.cn/n/1445135.html

相关文章

使用ISAPI过滤器请求用户名和口令字(转)

使用ISAPI过滤器请求用户名和口令字: 存在许多不同的方式来使用IIS安全过滤器,但在完成其它工作前,让我们先了解一下如何制作一个简单的过滤器。本节帮助你理解如何创建一个过滤器,该过滤器在服务器上传递值,并使用这些…

多租户特性一定是SaaS软件的必要特征吗?

当用户选择一个SaaS技术路线的时候,会面临“多租户SaaS”和“单租户SaaS”两个选择。尽管大部分的ISV提供的是多租户的SaaS,但开发者同样需要知道这两种架构的区别,以保证选择了正确的路线。当前和未来的功能需求,行业的细分&…

qss使用

qss相关语法,请百度 //新建qss文件.例如myStyl.qss QPushButton#IM_btn_hall {background-image: url(Resources/IM/im_btn_hall_normal.png);border:none; } QPushButton#IM_btn_hall:hover {background-image: url(Resources/IM/im_btn_hall_hover.png);border:n…

安全配置向导打造Win2003“铜墙铁壁”(转)

Windows Server 2003是大家最常用的服务器操作系统之一。虽然它提供了强大的网络服务功能,并且简单易用,但它的安全性一直困扰着众多网管,如何在充分利用Windows Server 2003提供的各种服务的同时,保证服务器的安全稳定运行&#…

QT 控件基础

//屏幕分辨率: QDesktopWidget* desktopWidget QApplication::desktop(); QRect screenRect desktopWidget->screenGeometry(); int g_nActScreenW screenRect.width(); int g_nActScreenH screenRect.height(); //固定控件的大小: setFixedSize(90,60)…

alexa 网站的 Site Stats 详解(转)

最近发现越来越多的人开始重视 alexa 的排名了,也有很多的网友关注自己在 alexa 的排名,也常常在论坛中问到关于 alexa 的问题,我想对于国内的网站建设者来说,在这个全英文的网站上查找对自己有利的信息,或者修正自己的…

c2w

c2w wchar_t* c2w(const char *str) {int length strlen(str)1;wchar_t *t (wchar_t*)malloc(sizeof(wchar_t)*length);memset(t,0,length*sizeof(wchar_t));MultiByteToWideChar(CP_ACP,0,str,strlen(str),t,length);return t; }

uva 11796 - Dog Distance(几何)

题目链接&#xff1a;uva 11796 - Dog Distance 将一只狗位移向量加到另一只上&#xff0c;即变成点到线段的最短距离。 #include <cstdio> #include <cstring> #include <cmath> #include <algorithm>using namespace std; const double pi 4 * atan…