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;

相关推荐
scx201310044 分钟前
20260105 莫队总结
c++
IOT-Power22 分钟前
QT 对话框(QDialog)中 accept、reject、exec、open的使用
开发语言·qt
Q741_14733 分钟前
海致星图招聘 数据库内核研发实习生 一轮笔试 总结复盘(1) 作答语言:C/C++ 链表 二叉树
开发语言·c++·经验分享·面试·笔试
咔咔咔的37 分钟前
1970. 你能穿过矩阵的最后一天
c++
_OP_CHEN38 分钟前
【从零开始的Qt开发指南】(十九)Qt 文件操作:从 I/O 设备到文件信息,一站式掌握跨平台文件处理
开发语言·c++·qt·前端开发·文件操作·gui开发·qt文件
CSDN_RTKLIB39 分钟前
【std::map】双向迭代器说明
c++·stl
王老师青少年编程43 分钟前
信奥赛C++提高组csp-s之欧拉回路
c++·算法·csp·欧拉回路·信奥赛·csp-s·提高组
No0d1es1 小时前
2025年12月 GESP CCF编程能力等级认证C++六级真题
c++·青少年编程·gesp·ccf·6级
Terrence Shen1 小时前
【CUDA编程系列】之01
c++·人工智能·深度学习·机器学习
墨有6661 小时前
数学分析栈的出栈顺序:从算法判断到数学本质(卡特兰数初探)
c++·算法·数学建模