Cela devrait être très simple mais je ne trouve pas de réponse à cette question. J'ai essayé ce code PyQt4:
label.setAlignment(Qt.AlignCenter)
Mais cela ne me donne aucune chance.
Merci
Je pense que le problème peut être que l'étiquette est centrée, mais elle ne remplit pas l'espace que vous pensez. Vous pouvez vérifier en modifiant la couleur d'arrière-plan de l'étiquette. L'exemple suivant fonctionne pour moi sur 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_())
J'ai eu le même problème.
Essayez d'utiliser:
Qt.Qt.AlignCenter.
La valeur de AlignCenter a été définie à PyQt5.QtCore.Qt.AlignCenter
, . L’autre valeur d’alignement a également été définie à QtCore.Qt
. QtCore.Qt
.
J'ai une solution de contournement avec la traduction HTML!
self.smallPWDisp.setText(_translate('Window', '<html><head/><body><p align=\'center\'>%s is your new password!</p></body></html>' % smallPassword))