PyQt5:居中对齐标签

时间:2014-09-03 07:06:42

标签: python pyqt pyqt5

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

label.setAlignment(Qt.AlignCenter)

但这没有给我带来好运。

由于

5 个答案:

答案 0 :(得分:11)

我认为问题可能是标签居中,但它没有填满你认为它的空间。您可以通过更改标签背景颜色进行验证。以下示例适用于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_())

答案 1 :(得分:3)

我遇到了同样的问题。

尝试使用:

init()

答案 2 :(得分:2)

AlignCenter的价值定义为PyQt5.QtCore.Qt.AlignCenter, 另一个Align值也定义在QtCore.QtQtCore.Qt模块还包含核心值,例如键盘值CTRL,SHIFT,ALT等。

答案 3 :(得分:2)

from PyQt5 import QtCore

# to center align a label 

self.your_label.setAlignment(QtCore.Qt.AlignCenter)

有关更多信息,请遵循以下StackOverflow线程: Qt has no attribute 'AlignCenter'

答案 4 :(得分:-1)

我有一个HTML翻译的解决方法!

self.smallPWDisp.setText(_translate('Window', '<html><head/><body><p align=\'center\'>%s is your new password!</p></body></html>' % smallPassword))