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;

相关推荐
派阿喵搞电子13 分钟前
在UI界面内修改了对象名,在#include “ui_mainwindow.h“没更新
c++·qt·ubuntu·ui
C++ 老炮儿的技术栈1 小时前
UDP 与 TCP 的区别是什么?
开发语言·c++·windows·算法·visual studio
mochensage3 小时前
CSP信奥赛C++常用系统函数汇总
c++·信奥
mochensage3 小时前
C++信息学竞赛中常用函数的一般用法
java·c++·算法
fpcc3 小时前
跟我学c++中级篇——多线程中的文件处理
c++
5:004 小时前
云备份项目
linux·开发语言·c++
笨笨马甲4 小时前
Qt Quick模块功能及架构
开发语言·qt
乄夜4 小时前
嵌入式面试高频(5)!!!C++语言(嵌入式八股文,嵌入式面经)
c语言·c++·单片机·嵌入式硬件·物联网·面试·职场和发展
YYDS3145 小时前
C++动态规划-01背包
开发语言·c++·动态规划
wydaicls5 小时前
十一.C++ 类 -- 面向对象思想
开发语言·c++