Qt关于padding设置不起作用的的解决办法

观察以下的代码:

cpp 复制代码
MyWidget::MyWidget(QWidget *parent)
    : QWidget{parent}
    ,m_btn(new QToolButton(this))
{
    this->setFixedSize(500,500);
    m_btn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    m_btn->setIcon(QIcon("F:tabIcon/person-white.svg"));
    m_btn->setText("hello");
    m_btn->setFixedSize(200, 50);
    m_btn->show();
    m_btn->move(100,100);
    m_btn->setStyleSheet("margin-left: 60px;");

}

你可能会认为这就是让QToolButton中的图标和文字往右挪动的代码,但是一运行你会发现:

它并没有往右挪动, 经过一段时间的查找,得出如下结论:padding 是与元素的边框(border)之间的距离相关的。

具体来说:

  • padding 是内容与元素边框之间的空间。
  • border 是元素的边缘线,决定了元素的外观和大小。
  • 如果没有设置 border,元素的边缘就没有明显的定义,因此 padding 的空间可能显得没有变化。

设置为如下即可:

border: 1px solid black;
padding: 10px;

相关推荐
syagain_zsx9 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
fpcc10 小时前
计算机原理—如何高效的操作文件
c++·计算机原理
Rabitebla10 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
system_error_x10 小时前
C++ 编程基础入门教程
开发语言·c++
布莱克60512 小时前
A* 算法详解:从原理到实现
开发语言·c++·算法
多弗朗皮卡丘12 小时前
C++ 智能指针
开发语言·c++·c++11·智能指针
进化中的刀盾兽13 小时前
从零实现 C++ AI 大模型接入 SDK(十):SessionManager 会话管理与多轮对话实现
c++
小成2023032026513 小时前
C++~02运算符重载
开发语言·c++
郑同学的笔记14 小时前
【c++随笔30】C++ 注册回调函数
开发语言·c++
lengxuenong14 小时前
树状数组 · 信息学学习手册2-离散化与逆序对
c++·学习·算法