PyQt5:居中对齐标签

Lac*_*ith 12 python pyqt pyqt5

这应该很简单,但我找不到答案.我试过这个PyQt4代码:

label.setAlignment(Qt.AlignCenter)
Run Code Online (Sandbox Code Playgroud)

但这没有给我带来好运.

谢谢

Fen*_*kso 16

我认为问题可能是标签居中,但它没有填满你认为它的空间.您可以通过更改标签背景颜色进行验证.以下示例适用于Windows 7:

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class Window(QWidget):
    def __init__(self, *args, **kwargs):
        QWidget.__init__(self, *args, **kwargs)

        self.label = QLabel("Test", self)
        self.label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.label.setAlignment(Qt.AlignCenter)
        self.label.setStyleSheet("QLabel {background-color: red;}")

        self.button = QPushButton("Test", self)

        self.layout = QGridLayout()
        self.layout.addWidget(self.label, 0, 0)
        self.layout.addWidget(self.button, 0, 1)

        self.setLayout(self.layout)
        self.show()

app = QApplication(sys.argv)
win = Window()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)


Muj*_*que 8

from PyQt5 import QtCore

# to center align a label 

self.your_label.setAlignment(QtCore.Qt.AlignCenter)
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请关注以下 StackOverflow 线程: Qt 没有属性 'AlignCenter'


小智 6

我有同样的问题。

尝试使用:

Qt.Qt.AlignCenter.
Run Code Online (Sandbox Code Playgroud)