最近在做一个大屏UI程序,需要直接在表格中展示多态进度条,也可以叫百分比进度条,就是一个进度条中包含了多种状态进度,用QProgressBar肯定是满足不了需求的,只能用上核武器:自定义控件,所谓心中有坐标,万物皆painter,犹如神笔马良,想怎么绘制就怎么绘制。
QTableWidget使用setCellWidget设置控件默认是塞满填充的,如果强制设置了控件的尺寸,则默认左上角开始放置,有时候这种情况很难看,需要居中显示,QTableWidget可以设置文本居中显示,但是不能设置控件居中显示,怎么办呢,得上另外一个核武器:布局。思路就是new一个widget,new一个布局,将控件加入到布局,设置widget的布局,然后将widget作为控件setCellWidget进去即可,就这样两个核武器下去,立马见效,想怎么玩都可以。

//自定义多态进度条
ProgressThree *bar = new ProgressThree;
bar->setValue1(qrand() % 100);
bar->setValue2(qrand() % 100);
bar->setValue3(qrand() % 100);
bar->setFixedHeight(15);//增加widget+布局巧妙实现居中
QWidget *widget = new QWidget;
QHBoxLayout *layout = new QHBoxLayout;
layout->setSpacing(0);
layout->setMargin(0);
layout->addWidget(bar);
widget->setLayout(layout);
ui->tableWidget->setCellWidget(i, 7, widget);

QTableWidget使用setCellWidget设置控件居中显示相关推荐

  1. Flutter Container、Center设置控件居中背景及其他属性

    Flutter Container.Center设置控件居中背景及其他属性 //控件可以居中Container(alignment: Alignment.bottomCenter,//设置控件内容的位 ...

  2. PyQt5 图形界面 - 配置界面跟随窗口大小调整灵活伸缩,设置页面控件居中显示实例演示

    PyQt5 图形界面 - 配置页面跟随窗口大小调整灵活伸缩 第一章:Qt 窗口布局调整演示 ① 不可自由伸缩实例 ② 分散布局合并 ③ 添加间隔控件 ④ 添加栅格布局 ⑤ 修改栅格布局为 QFrame ...

  3. 设置控件全局显示样式appearance proxy

    appearance是apple在iOS5.0上加的一个协议,它让程序员可以很轻松地改变某控件的全局样式(背景)一般向导航栏navigationBar和状态栏tabBar的整体样式的设置使用这个方法, ...

  4. android relativelayout 控件居中显示,RelativeLayout 子组件 垂直居中,水平居中方法

    RelativeLayout 子组件 垂直居中,水平居中方法 android:layout_width="match_parent" android:layout_height=& ...

  5. 遍历WinForm窗体 根据语言类型设置其控件Text显示

    示例内容: Form1 中 有一个Label1     中文时显示 " 姓名:"     英文时显示 " Name: "     开发时 默认显示为 " ...

  6. android textview动态居中,android 设置textview文字居中或者控件居中

    有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:txtTitle.setGravity(Gr ...

  7. QTableWidget单元格控件居中对齐

    QTableWidget单元格控件居中对齐 由于在表格中的一列需要插入按钮控件,但是运行时按钮是左上对齐的,所以为了美观看了样式方法,基本上是文本居中,背景图片居中类似的设置,对于我的按钮基本原封不动 ...

  8. js设置控件的隐藏与显示的两种方法

    js设置控件的隐藏与显示的两种方法: js设置控件的隐藏与显示,设置控件style的display和visibility属性就可以了. 用JavaScript隐藏控件的方法有两种,分别是通过设置控件的 ...

  9. Pyqt5的tableWidget的单元格控件居中

    Pyqt5的tableWidget的单元格控件居中 以在tableWidget添加checkBox为例. #实例化一个tableWidget1tableWidget1 = QtWidgets.QTab ...

  10. android 代码控件框高,Android控件_TextView(显示文本框控件)

    一.TextView控件的常用属性 1.android:id--控件的id 2.android:layout_width--设置控件的宽度 wrap_content(包裹实际文本内容) fill_pa ...

最新文章

  1. 病毒及***防御手册之一
  2. Android之getSystemService
  3. 九、二手信息站点后台完成 (IVX 快速开发教程)
  4. 使用OAuth2令牌的安全REST服务
  5. 直播课 | 三维人体扫描与AI测量
  6. C# 对称算法,加密解密类
  7. UML建模:学习笔记(1)
  8. 转发技术风雨三十年,你经历过……
  9. Linux 重启oracle数据库
  10. CI框架SESSION使用
  11. 微信小程序 java家庭个人收支理财记账本springboot
  12. Visual Studio 调试时右侧诊断工具窗口如何显示
  13. Linux静态库和动态库区别
  14. oracle 打包导出表,数据库导出表数据库
  15. 浏览器如何工作How browsers work翻译
  16. PySide2 使用
  17. C#实现将度分秒化为弧度值
  18. Lync 2013兼容性
  19. 【电商】电商后台---FMS财务管理系统
  20. 如何用c语言实现【猜数字游戏】

热门文章

  1. OpenGL的3D场景模型大作业
  2. 云上PDF怎么删除页眉页脚_word页眉页脚删除不了?教你几招轻松搞定
  3. windows挂起进程方法介绍
  4. 各种语言常用壳的特征
  5. Enscape for SketchUp 室外日夜景照明设置技巧
  6. 【sklearn下的SVM转onnx】
  7. eclipse-Mars2-4.5.2安装Tomcat插件
  8. Android开发——kotlin语法基础
  9. js对象的三种继承方式
  10. 期货与期权套期保值的对比研究