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;

相关推荐
sycmancia14 小时前
C++进阶01——示例
开发语言·c++
CoderCodingNo14 小时前
【GESP】C++五级/四级练习题 luogu-P1413 坚果保龄球
开发语言·c++·算法
阿猿收手吧!14 小时前
【C++】C++原子操作:compare_exchange_weak详解
java·jvm·c++
Trouvaille ~14 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
2301_8223663514 小时前
C++中的命令模式变体
开发语言·c++·算法
派葛穆15 小时前
Python-PyQt5 安装与配置教程
开发语言·python·qt
每天要多喝水15 小时前
nlohmann/json 的使用
c++·json
蓁蓁啊15 小时前
C/C++编译链接全解析——gcc/g++与ld链接器使用误区
java·c语言·开发语言·c++·物联网
D_evil__16 小时前
【Effective Modern C++】第四章 智能指针:19. 对于共享资源使用共享指针
c++
czxyvX16 小时前
016-二叉搜索树(C++实现)
开发语言·数据结构·c++