您可以通过使用布局管理器来实现QPushButton上的图标居中并将文本在图标下方居中显示。以下是一种可能的方法:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QVBoxLayout *layout = new QVBoxLayout(&window);
QPushButton button("Button");
button.setIcon(QIcon(":/path/to/icon.png"));
button.setIconSize(QSize(50, 50));
layout->addWidget(&button);
QSpacerItem* spacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
layout->addItem(spacer);
int textHeight = QFontMetrics(button.font()).height();
int iconHeight = button.iconSize().height();
int verticalSpacing = (iconHeight - textHeight) / 2;
layout->setContentsMargins(0, verticalSpacing, 0, verticalSpacing);
window.show();
return app.exec();
}
请注意,这只是一个示例,并且您需要根据自己的需求进行调整。
内容由零声教学AI助手提供,问题来源于学员提问