Выравнивание меток PYQGIS Composer

Я работал над небольшим скриптом для QGIS, чтобы автоматизировать создание атласа через композитор.

Единственная проблема, с которой я столкнулся, это то, что я не могу правильно выровнять метку композитора. Вот пример кода:

composerLabel = QgsComposerLabel(c)
newFont = QFont("times", 40)
composerLabel.setFont(newFont) 
composerLabel.setText("Hello world")
composerLabel.adjustSizeToText()
composerLabel.setItemPosition(c.paperWidth() / 2,0)

composerLabel.setHAlign(Qt.AlignCenter)

c.addItem(composerLabel)

Вот как выглядит изображение на выходе

Я просмотрел API и просмотрел форумы PYQGIS, но больше никто не говорит, что у них есть подобные проблемы с выравниванием. Может ли кто-нибудь увидеть, где я могу ошибаться?


person SoapyDonuts    schedule 05.09.2016    source источник


Ответы (1)


Вам нужно только добавить ItemPositionMode в метод setItemPosition.

# add label
composerLabel = QgsComposerLabel(c)
newFont = QFont("times", 40)
composerLabel.setFont(newFont) 
composerLabel.setText("Hello world")
composerLabel.adjustSizeToText()
composerLabel.setItemPosition(c.paperWidth() / 2,0,QgsComposerItem.UpperMiddle)

composerLabel.setHAlign(Qt.AlignCenter)

c.addComposerLabel(composerLabel)
person Fran Raga    schedule 05.09.2016
comment
Фантастика! Ага, это решило вопрос. Спасибо Франциско! знак равно - person SoapyDonuts; 05.09.2016