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

QT-界面居中管理

        问题:为什么不能对checkbox直接居中,LineEdit可以

        复选框是一个固定大小的控件,不适合填满整个单元格,而相比之下QLineEdit是一个可变大小的控件
关于居中:
  1. lineEdit:lineEdit -> setAlignment(QT::AlignCenter); 这是让文本框中的内容居中
  2. checkbox:没有直接居中的方式,需要设置布局或者setStyleSheet暴力调位置(后者太蠢)
布局管理器 -> 内容容器 -> 复选框
QCheckBox* checkbox = new QCheckBox();//创建复选框
QWidget* widget = new QWidget(); // 创建单元格内容容器
QHBoxLayout* layout = new QHBoxLayout(widget);//创建水平布局管理器layout -> addWidget(checkbox); // 添加复选框到布局中
layout -> setAlignment(Qt::AlignCenter); // 设置布局内控件居中对齐ui.tableWidget->setCellWidget(row, col, pWidget);

🔺 

Layout->setAlignment(control, Qt::AlignCenter); //只针对控件control居中
Layout->setAlignment(Qt::AlignCenter);//所有布局内的控件全部居中

 🔺策略 QSizePolicy类 是用来控制控件如何在父布局中缩放和定位(对内容容器)

//在水平和垂直方向上都采用Preferred策略
pWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);//布局策略(水平+垂直)
QSizePolicy::Preferred:控件有一个首选大小,但是如果布局需要,它可以被扩大或缩小。这意味着控件会尽量保持其首选大小,但不是绝对不变,会根据布局需求适当调整。
QSizePolicy::MinimumExpanding:控件至少会占据其最小大小,但它是愿意并且能够扩展以填充额外的空间。
这行代码的意思是设置pWidget在水平和垂直方向上都采用Preferred策略。这意味着pWidget会尽量保持其内部内容(在这个案例中是QCheckBox)的自然大小,但也会根据容器(QTableWidget的单元格)的变化做出适当的调整。

http://www.lryc.cn/news/360741.html

相关文章:

  • Python | MATLAB | R 心理认知数学图形模型推断
  • Linux系统tab键无法补齐命令-已解决
  • 数据库之函数、存储过程
  • 安卓启动 性能提升 20-30% ,基准配置 入门教程
  • Linux C/C++目录和文件的更多操作
  • 如何高效地向Redis 6插入亿级别的数据
  • 中国历年肥料进口数量统计报告
  • 即时通讯视频会议平台,WorkPlus本地化部署解决方案
  • Java的数据库编程-----JDBC
  • 如何获取SSL证书,消除网站不安全警告
  • Unity动画系统介绍
  • Three.js-实现加载图片并旋转
  • ACM实训第25天
  • GraphQL(2):使用express和GraphQL编写helloworld
  • Vue中的计算属性和侦听器:提升响应式编程的艺术
  • JavaScript倍速播放视频
  • ER图介绍
  • Oracle通过datax迁移线上表到历史库
  • java基础-深拷贝和浅拷贝
  • Java数组操作
  • C++vector及其实现
  • 路由策略实验1
  • 含情脉脉的进程
  • 重复文件怎么查找并清理?电脑重复文件清理工具分享:4个
  • Java中连接Mongodb进行操作
  • LabVIEW远程开发与调试
  • C/C++|基于回调函数实现异步操作
  • Mac上搭建Python环境:深入探索与高效实践
  • 数据标准的制定落地
  • 微信小程序基础 -- 小程序UI组件(5)