观察以下的代码:
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;