QT UI布局设置汇总

这篇具有很好参考价值的文章主要介绍了QT UI布局设置汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、设置边距的方法

1、设置容器边框和内部控件的边距

a)、可以通过设置setContentsMargins方法

 //设置容器myQwidget(QWidget)内部margin
 ui->myQwidget->setContentsMargins(10,10,0,0);

QT UI布局设置汇总

 如上图,外面的是myQwidget,内部假设是一个填满的button,那么设置setContentsMargin,可以控制left和top,right,bottom等四个边距的距离。

b)、也可以使用layoutLeftMargin等属性。

ui->editWidget->layout()->layoutLeftMargin=10; //使用这些属性,和setContentsMargins方法等价

2、 设置内部控件之间的间距

//editWidget是一个QWidget
ui->editWidget->layout()->setSpacing(0);

这个可以设置容器内部控件之间相隔的间距,一般用于内部空间比较少的情况,内部控件一多,就不好控制

在设计器中,如下图中的layoutSpacing属性:

QT UI布局设置汇总

 注:图1

3、设置部分控件的间距

如下图:

QT UI布局设置汇总

这个大的qwidget中有一大堆控件,当设置layoutSpacing 可以设置每个控件之间的间距。

但是如果只想让“左侧btn”和“时间label”的间距放大,应该如何设置?

解决方案:选中“左侧btn”和“时间label”,然后右键设置布局。前提是将外部的qwidget的布局先取消。

再通过对上一层layout设置layoutSpacing即可。结构如图:

QT UI布局设置汇总

四、将空间撑开,维持spliter的默认比例宽度

背景:我在一个splitter中放了左右两个控件,同时在代码中设置了默认的宽度比例。

ui->mainSplitter->setStretchFactor(0,5); //代表第0个控件,即左边所占比例为2
ui->mainSplitter->setStretchFactor(1,4); //代表第1个控件,即右边所占比例为7.一共是9

但是不起作用,左边的控件会被压缩。尝试过几种方法,包括把左侧空间控件的sizepolicy设置成expanding,也无效

愿意是我的控件长这样,选中的这部分为左侧控件。如下图:

QT UI布局设置汇总

 若想让左右两边的比例符合代码设置的预期。其实就是要让左侧控件的内容能够撑开。

有一个办法是设置左侧控件的最小宽度,这样确实能够解决问题,但是会导致splitter无法拖动了。

所以解决方案是将中间水平的这个spacer占位弹簧的sizeHint属性中的宽度设置为200。如下图:

QT UI布局设置汇总

 这样就达到了目的。

spacer占位弹簧的sizeHint 是一个非常重要的属性,它在 Qt 中用于布局管理。当您的窗口或者布局需要重新调整大小或者重新布局时,Qt 会参考每个控件的 sizeHint 来决定它们的理想大小。

对于 Spacer 控件,sizeHint 属性定义了其理想的宽度和高度。由于 Spacer 是一个占位符控件,它通常用于填充布局中的额外空间或者推动其他控件改变位置。因此,它的 sizeHint 属性通常用于控制它的 "弹性" 或者 "空间占用"。文章来源地址https://www.toymoban.com/news/detail-455999.html

到了这里,关于QT UI布局设置汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【CSS】盒子边框 ① ( 网页布局本质 | 盒子模型 | 盒子边框 Border | border-width 宽度 | border-style 边框样式 | 边框颜色 | 边框设置综合写法 )

    构建一个网页 , 首先 , 创建盒子模型 , 设置盒子的大小和摆放位置 , 下图中红色矩形框就是盒子模型 ; 然后 , 将 文本 , 图片 , 链接 , 表单 等网页元素 , 按照一定的样式 , 填充进盒子中 , 就形成了我们看到的网页 ; 盒子 中 还可以嵌套 若干盒子 ; HTML 的 一个布局 可以看做一个

    2024年02月04日
    浏览(67)
  • HTML如何给div容器设置大小,边框,背景颜色,位置

    本次实验是在 Visual Studio Code软件里面所写 在body正文标签里面添加div容器,随便写几个字 在head头部标签里面添加style样式标签  在style标签里面给div添加样式: 效果图:  

    2024年02月15日
    浏览(55)
  • Qt窗口设置无边框不能移动,鼠标穿透后不能响应点击事件

      最近在做一个迷你小工具,准备干点不可描述的事情,想要短小强悍,始终在最顶层显示,同时不要自带的关闭按钮和边框,百度一下,发现是需要设置如下两个属性:   那么问题来了,这样的话一运行窗体就在正中间,而且无法拖动,就像这样   哪怕对于我这种

    2024年02月10日
    浏览(61)
  • Qt Designer UI设计布局小结

    前言 本文总结了在开发Qt应用程序时使用 Designer 进行UI布局的一些心得体会。Qt Designer是Qt提供的一个可视化界面设计工具,旨在帮助开发人员快速创建和布局用户界面。它提供了丰富的布局管理器和控件,并支持直观的拖拽和放置操作,使得UI设计变得简单而高效。下面将按

    2024年02月09日
    浏览(49)
  • Word表格设置边框不生效的解决方法

    我的手指还能活动,我的大脑还能思维;我有终身追求的理想,我有爱和爱我的亲人朋友;对了,我还有一颗感恩的心。——霍金

    2024年02月12日
    浏览(100)
  • Qt中多ui使用及简单布局实现交互界面

    第一章 Qt中C++代码搭配UI文件实现交互界面 第二章 Qt中多ui使用及简单布局实现交互界面 文章目录 前言 一、新增两个新UI文件 二、使用这两个新增的UI及简单布局 三.添加简单联动逻辑 四.编译运行及动态效果展示 总结         前一段时间,写了一篇关于Qt中C++代码搭配

    2024年02月04日
    浏览(56)
  • 【QT】一 设置布局后,控件大小会自动变化,如何设置想要的

    目录 1. 设置好控件大小 2. 设置布局  3. 设置layout  给一个QWidget控件内部设置布局后,原来内部的控件大小变小了,如何解决?           把最小值设置好。         选择整体,选择布局方式,这里为水平布局。 你会发现,可能显示不全。 选择整体,属性拉到最下面,

    2024年02月11日
    浏览(82)
  • Qt——设置布局中特定的两个组件之间的间距

            在Qt中,如果你想要设置布局内某两个组件之间的特定间距,你可以使用`QSpacerItem`来添加一个空白区域,或者使用布局的`insertSpacing`方法(如果可用)。 你可以在两个组件之间插入一个`QSpacerItem`来创建空间。下面是一个例子:         在这个例子中,在`but

    2024年04月25日
    浏览(34)
  • 关于QGroupBox在设置边框线条后Title下沉问题的解决方法

    这个问题遇到之后查了网上的一些资料,大都说的模糊不清,只说设置margin,没细说如何设置.本文详细记录一下我解决该问题的步骤. 当我在UI编辑器里添加了一个QGroupBox控件,并且设置了Title标题. 此时可以看到标题和隐藏的边框线条是垂直居中对齐的状态 紧接着在其styleSheet里设

    2024年02月16日
    浏览(117)
  • QT自定义优雅的表单控件,简单实现设置界面布局

    FormView.h FormView.cpp 核心函数 函数 变量 功能 addEditableItem title: 输入框前面的提示文字,同时作为该控件的标识符 place_holder: 输入框中的提示文字 在表单中插入一个可填写项 addCheckableItem title: 不显示在UI中,仅作为该控件的标识符 content: 勾选框后面的内容 init_status: 勾选框的初

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包