📜  qpushbutton 文本对齐 - Python (1)

📅  最后修改于: 2023-12-03 15:04:44.149000             🧑  作者: Mango

QPushButton 文本对齐 - Python

QPushButton 是 PyQt5 中常用的按钮控件之一,它可以显示文本或图标,并在被点击时触发事件。本篇文章将介绍如何设置 QPushButton 的文本对齐方式。

水平对齐

QPushButton 中文本的水平对齐方式可以使用 setAlignment() 方法来设置。该方法需要传入一个 Qt.AlignFlag 枚举值作为参数,可以是下列值之一:

  • Qt.AlignLeft:左对齐
  • Qt.AlignRight:右对齐
  • Qt.AlignHCenter:水平居中对齐

下面是示例代码:

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
from PyQt5.QtCore import Qt


app = QApplication([])
widget = QWidget()

btn_left = QPushButton('Left')
btn_left.setAlignment(Qt.AlignLeft)

btn_right = QPushButton('Right')
btn_right.setAlignment(Qt.AlignRight)

btn_center = QPushButton('Center')
btn_center.setAlignment(Qt.AlignHCenter)

layout = QVBoxLayout()
layout.addWidget(btn_left)
layout.addWidget(btn_right)
layout.addWidget(btn_center)

widget.setLayout(layout)
widget.show()
app.exec_()

代码执行后,将会显示一个垂直方向上排列的三个按钮,其文本分别为 Left、Right 和 Center,文本对齐方式分别为左对齐、右对齐和水平居中对齐。

垂直对齐

QPushButton 中文本的垂直对齐方式可以通过设置样式表来实现。下面是示例代码:

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
from PyQt5.QtCore import Qt


app = QApplication([])
widget = QWidget()

btn_top = QPushButton('Top')
btn_top.setStyleSheet('QPushButton { \
                       text-align: center; \
                       padding-top: 20px; }')

btn_bottom = QPushButton('Bottom')
btn_bottom.setStyleSheet('QPushButton { \
                          text-align: center; \
                          padding-bottom: 20px; }')

layout = QVBoxLayout()
layout.addWidget(btn_top)
layout.addWidget(btn_bottom)

widget.setLayout(layout)
widget.show()
app.exec_()

代码执行后,将会显示一个垂直方向上排列的两个按钮,其文本分别为 Top 和 Bottom,文本对齐方式分别为垂直居中对齐和底部对齐。

需要注意的是,垂直对齐方式需要在样式表中通过设置 padding 来实现。

总结

通过本篇文章的介绍,我们可以在 PyQt5 中轻松设置 QPushButton 的文本对齐方式,从而美化界面。