QGridLayout::addWidget 的使用详解

2023-11-02

Qt系列文章目录

前言

Qt中经常使用网格布局QGridLayout,并在网格中依次加入控件,我们可以依次定义行列排序

一、QGridLayout::addWidget

QGridLayout::addWidget 官方解释

在这里插入图片描述
可以看到有2个重载版本:
1.void QGridLayout::addWidget(QWidget *widget, int row, int column, Qt::Alignment alignment = Qt::Alignment())
Adds the given widget to the cell grid at row, column. The top-left position is (0, 0) by default.

The alignment is specified by alignment. The default alignment is 0, which means that the widget fills the entire cell.
翻译:
将给定的小部件添加到单元格网格的行、列。默认情况下,左上角位置为(0,0)。
对齐由对齐指定。默认对齐方式为0,这意味着小部件将填充整个单元格。

2.void QGridLayout::addWidget(QWidget *widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())

翻译:。
此版本将给定的小部件添加到单元格网格,跨越多行/列。该单元格将从fromRow、fromColumn开始,跨越rowSpan行和columnSpan列。小部件将具有给定的对齐方式。
如果rowSpan和/或columnSpan为-1,则小部件将分别扩展到底部和/或右边缘。

二、使用步骤

1.第一个版本:

void QGridLayout::addWidget(QWidget *widget, int row, int column, Qt::Alignment alignment = Qt::Alignment())
这个版本对应的行列规则的情况。
在这里插入图片描述

QGridLayout* gridlayout=new QGridLayout;
	gridlayout->addWidget(m_lab_Near, 0, 0);
	gridlayout->addWidget(m_spinbox_Near, 0, 1);
	gridlayout->addWidget(m_lab_Far, 1, 0);
	gridlayout->addWidget(m_spinbox_Far, 1, 1);

2.第二个版本

void QGridLayout::addWidget(QWidget *widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())
这个版本对应行列不规则的情况
在这里插入图片描述
如上图,红色表示坐标,窗口1横向跨越了2个单元格,那么 int rowSpan = 2 ;纵向跨越了2个单元格, 那么int columnSpan = 2

此窗口产生的代码如下:

    QGridLayout* gridLayout = new QGridLayout;
	QWidget widget1;
	QWidget widget2;
	QWidget widget3;
	QWidget widget4;
	QWidget widget5;
	QWidget widget6;
    
    gridLayout->addWidget(widgets1, 0, 0, 2, 2);       //窗口1
    gridLayout->addWidget(widgets2, 0, 2, 1, 1);       //窗口2
    gridLayout->addWidget(widgets3, 1, 2, 1, 1);       //窗口3
    gridLayout->addWidget(widgets4, 2, 0, 1, 1);       //窗口4
    gridLayout->addWidget(widgets5, 2, 1, 1, 1);       //窗口5
    gridLayout->addWidget(widgets6, 2, 2, 1, 1);       //窗口6

参考

zsiming

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QGridLayout::addWidget 的使用详解 的相关文章

  • 如何使用meta-toolchain-qt5构建Qt(带有QtWebEngine支持)?

    我正在尝试使用构建 Qtmeta toolchain qt5 但是当我通过这样做时poky glibc x86 64 meta toolchain qt5 cortexa7hf vfp vfpv4 neon toolchain 2 0 1
  • 从 Qt4 中的文本文件中逐字读取

    我想在 Qt4 中逐字读取一个文本文件 说实话我对它很陌生 我想在另一个文件中每行一个字写入 我可以在 C 中做到这一点 没有任何问题 但是当我尝试在 Qt4 中使用 ifstream 和 ofstream 时 我遇到了错误 这是我的 Qt
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • Mac 上的 Qt — 如何访问帮助菜单中的“搜索”

    我正在将我的 Qt 应用程序移植到 Mac OS X 在 Windows Linux 上 我使用 QLineEdit 在帮助菜单中提供搜索功能 In Mac OS X I saw something like this is built i
  • 将 QByteArray 从大端转换为小端

    我想我在这里有点不知所措 我尝试了这么简单的事情 我不敢相信没有任何内置的 Qt 使用 Qt 5 6 2 我尝试将 QByteArray 内的数据从大端转换为小端 总是从相同的测试 QByteArray 开始 就像这样 QByteArray
  • 如何访问Loader的sourceComponent中的QML对象?

    我可能需要读取或写入的一些属性Loader s sourceComponent来自一些外部函数 访问该房产的方式是什么x里面的对象的Loader s sourceComponent import QtQuick 2 0 Item width
  • 如何在qt中创建正确的退出按钮

    我正在尝试创建一个退出按钮来正确关闭我在 QT 中制作的 GUI 我尝试通过以下方式执行此操作 include
  • 使用 Qt 的网络服务

    我正在寻找使用 Qt 服务器端 实现 Web 服务的代码 如果您有任何信息 我将不胜感激 Regards 您可以使用libqxt http libqxt bitbucket org doc 0 6 qxtweb html实现服务器端Web服
  • 常量类成员、赋值运算符和 QList

    请确认我是否正确并告诉我是否有更好的解决方案 我了解具有常量成员的对象 例如int const width 无法由编译器隐式创建的合成赋值运算符处理 但是 QList 我想 std list 也是如此 需要一个有效的赋值运算符 因此 当我想
  • 如何从 Qt 应用程序通过 ODBC 连接到 MySQL 数据库?

    我有一个新安装的 MySQL 服务器 它监听 localhost 3306 从 Qt 应用程序连接到它的正确方法是什么 原来我需要将MySQL添加到ODBC数据源 我在遵循这个视频教程后做到了这一点 https youtu be K3GZi
  • 如何在 Qt-Creator 中添加自定义构建步骤?

    构建我的应用程序后 我想将其复制到特定目录 在 Windows 7 上 自定义构建步骤 cmd exe c k copy MyPlugin dll HostApp Debug plugins 但我有错误 Can t run process
  • QML改变图像颜色

    我搜索了如何对图像进行着色 格式为 svg 或 png 我尝试用一 个填充图像的矩形覆盖我的图像 但由于我的图像不是矩形 它会给整个矩形着色 而不仅仅是图像 可以用qml改变图像颜色吗 或者 是否可以使用 QPixmap 更改 qt 使用
  • Qt 编译器标志顺序

    我的目标是消除某些类型的编译器警告 我发现可以通过在 pro 文件中添加编译器标志来做到这一点 QMAKE CXXFLAGS Wno unused variable Wno reorder 问题是它们被添加在 Qt 构建系统生成的标志之前
  • QObject多重继承

    我正在尝试在 C Qt 类中使用 mix 来提供一大堆具有通用接口的小部件 该接口是以这样的方式定义的 如果它被定义为其他小部件类的基类 那么小部件本身将具有这些信号 class SignalInterface public QObject
  • 如何将flex和bison与Qt项目集成?

    我正在 git 源代码控制下使用 Qt4 制作 GUI 程序 Github页面 https github com vinayak garg dic sim 项目的一小部分需要扫描和解析 所以我想在项目中使用flex和bison 我能想到3种
  • Android 版 Qt 和 BoringSSL

    我正在开发一个基于 Qt 的 Android 应用程序 它使用 QSslSocket 下载数据 由于 Android 从 OpenSSL 转向 BoringSSL 因为依赖 OpenSSL 库的 Marshmallow Qt 程序在 And
  • 运行最新版本时没有“最新”消息?

    我正在尝试使用Sparkle https sparkle project org与 Qt Go 的绑定 https github com therecipe qt app 闪光 m import
  • 在 QtCreator 中调试时如何查看 qDebug 消息

    我正在从 Eclipse CDT 带有 Qt 集成插件 过渡到 QtCreator 2 0 但仍有一件事困扰着我 QtCreator 当我在 QtCreator 中调试时 我在Application output tab直到我停止正在调试的
  • 如何使用bind将成员函数作为函数指针传递?

    我试图将成员函数作为函数指针传递 这样我就不需要依赖单例或全局函数来处理 Qt 5 中的 Qt 消息 据我所知 我的 std function 是正确的类型 它具有正确的签名 并且绑定应该允许我插入隐式this指针 本质上是将成员函数传递为
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no

随机推荐

  • TypeScript 中的类型断言

    在这里 我们将了解 TypeScript 如何使用一些称为类型断言的内部逻辑机制来推断和检查变量的类型 类型断言允许我们设置值的类型并告诉编译器不要推断它 在这种情况下 作为程序员 我们可能比 TypeScript 可以自行推断的更了解变量
  • npm 启动输出日志

    npm start d
  • 7天学习opengl入门

    10月13号下午3 00队长给我开了一个会 10 14号开始学习opengl 今天10月21号 期间 虽然有时候课程很满 但每天都至少写一个程序 当然 这些只是我7天来业余时间的学习 我觉得这个网址不错 大家如果也想学习opengl 并且具
  • 将UTC时间格式转换成东八区时间格式

    在前后端数据接口通信中 后台返回的时间往往是 UTC 格式的 即2022 12 15T10 28 57 000 00 00这种 作为前端 我们需要将其转换为标准的本地格式 并用 YYYY MM DD HH mm ss 这种格式呈现给用户 用
  • 哈工大2018秋高级语言程序设计课程大作业

    Github文件下载地址哈工大2018秋高级语言程序设计课程 高级语言程序设计 实验大作业反思报告 实验大作业题目 智能趣味电子通讯录 类型 信息管理系统 学生姓名 郭茁宁 班 号 1837101 学 号 1183710109 所在院系 计
  • 山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(15)

    今天测试的时候又出现了一个问题 在查看科室库的出库列表时 网页上会报出500的错误 即参数错误 但是出库的所有信息都能正确的在上面显示 同样的问题在下订单后查看订单 以及配送后查看配送列表时出现了 而这个问题在代码几乎完全一样的中心库那里却
  • Android Studio 下真机调试

    文章目录 一 开启真机调试 二 断开真机调试 一 开启真机调试 准备USB调试线 一端插在电脑USB接口上 另一端插在手机充电口上 下面以自己的手机 huawei nova 5 为例 点击手机界面上的设置应用 然后往下找到 关于手机 点击进
  • ElasticSearch-IK分词器介绍和下载

    IK分词器 什么是IK分词器 分词 把一段中文或者别的划分成一个一个的关键字 我们在搜索的时候会把自己的信息进行分词 会把数据库中或者索引库中的数据进行分词 然后进行一个匹配操作 默认的中文分词是将每个字看成一个词 比如 我爱魏一鹤 会被分
  • 步进电机基础(2.4)- HB型步进电机的转子齿数与主极数之间的关系

    步进电机基础 2 4 HB型步进电机的转子齿数与主极数之间的关系 前言 基本信息 公式 前言说明 HB型步进电机的转子齿数与主极数之间的关系 1 HB步进电机的相数 转子齿数 主极数之间的表达式 2 相内磁路的一般表达式 3 相间磁路的一般
  • pdf太大了如何压缩?这四种方法快来尝试下吧

    pdf太大了如何压缩 我们都知道 大型PDF文件会占据较多的存储空间 特别是当需要处理和存储大量PDF文件时 而我们通过压缩PDF文件 能够在很大程度上缩减文件大小 进而便于文件的传输 备份和存储 另外 在某些情况下 存储和传输设备 如移动
  • 献给阿尔吉侬的花束( 入门级bfs查找 + 模版解读 + 错误示范)

    献给阿尔吉侬的花束问题 文章目录 献给阿尔吉侬的花束问题 前言 题目描述 题目分析 方法判定 bfs 算法模版介绍 两个数组 记录地图 记录移动距离 一个队列 依次遍历所有接触到的点 一次遍历 模版代码如下 题解代码 错误示范 总结 前言
  • 【Java8 新特性 3】Supplier简介

    在Java8中增加的接口Supplier 最适合用于表示工厂 带有Supplier的方法 通常应该限制输入工厂的类型参数使用有限制的通配符类型 以便客户端能够传入一个工厂 来创建指定类型的任意子类型 应该将这些资源或者工厂传给构造器 或者静
  • JavaFX 基础介绍

    目录 JavaFX 基础介绍 代码介绍 整体结构 场景面板介绍 FlowPane流失布局 BorderPane边框布局 控件介绍 Label 文本标签 TextField 输入框 PasswordField Button 按钮 按钮的点击事
  • Linux命令:traceroute命令(路由跟踪)

    traceroute是用来检测发出数据包的主机到 标主机之间所经过的网关数量的工具 traceroute的原理是试图以最小的TTL 存活时间 发出探测包来跟踪数据包到达目标主机所经过的网关 然后监听 个来自网关ICMP的应答 发送数据包的大
  • 简历造假,你以为我不知道?

    本文共 3495字 预估阅读时间 9分钟 前言 上到职场干将下到职场萌新 都会接触到包装简历这个词语 当你简历投到心仪的公司 公司内负责求职的工作人员是如何甄别简历的包装程度的 Coody老师根据自己的经验写下了这篇文章 谁都不是天才 包装
  • 负载均衡的三种实现方式

    不懂高性能的负载均衡设计 架构师带你飞 在软件系统的架构设计中 对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案 负载均衡本质上是用于将用户流量进行均衡减压的 因此在互联网的大流量项目中 其重要性不言而喻 一 什么是负载均衡 早
  • 由一次mycat+mysql水平拆分集群问题引发的思考

    近段时间部署和测试了一个mycat 4 Percona tokudb的水平拆分集群 前段应用是将一类奖状数据不断地写入到这个库中 只有insert操作 前几天运行状态还比较好 从昨天开始 由于业务量突然增加了一些 磁盘IO负载变得很高 而且
  • 嵌入式系统设计学习笔记1

    一 计算机架构 1 计算机架构主要有两种 哈佛架构 冯诺依曼架构 冯诺依曼的核心是 存储程序 顺序执行 规定计算机必须具有如下功能 1 把需要的程序和数据送至计算机中 2 必须具有长期记忆程序 数据 中间结果及最终运算结果的能力 3 能够完
  • 【一个常规的算法,最长公共前缀,Python】

    TOC 给定一串字符串 要求提取其中重复率最高的字符串 不包含单字符串 思路分析 采取分段进行遍历的方式 达到出现所有情况为止 给定 abcabc 固出现情况为 ab 2 bc 2 abc 2 ca 1 bca 1 cab 1 abca 1
  • QGridLayout::addWidget 的使用详解

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 一 QGridLayout addWidget 二 使用步骤 1 第一个版本 2 第二个版本 参考 前言 Qt中经常使用网格布局QGridLayout 并在网格中依次加入控件 我们可以依次