2014-09-03 277 views
5

這應該很簡單,但我無法找到答案。 我已經試過這PyQt4的代碼:PyQt5:中心對齊標籤

label.setAlignment(Qt.AlignCenter) 

但是,讓我沒有運氣。

感謝

+0

其他任何對齊標誌都可以工作嗎?例如,你可以對齊標籤(使用'Qt.AlignRight'),還是對齊標籤(使用'Qt.AlignBottom')? – 2014-09-03 07:21:34

+1

對我來說就像一個魅力。但是我使用PySide,也許PyQt4在那裏出現問題,儘管不太可能。 – Trilarion 2014-09-03 07:24:51

+0

@three_pineapples沒有。 – 2014-09-03 07:27:11

回答

5

我認爲這個問題可能是標籤的中心,但它不填寫你認爲它的空間。您可以通過更改標籤背景顏色進行驗證。以下示例適用於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_()) 
+0

「NameError:QSizePolicy未定義。」編輯:這是整個程序的代碼:http://goo.gl/Qpte2p – 2014-09-04 05:47:34

+0

謝謝,我解決了這個問題。我不能因爲名譽而喜歡你,但我希望其他人覺得這很有幫助(雖然這對我沒有幫助:/) – 2014-09-04 06:08:16

+0

如果你覺得我的回答對你有幫助,你可以[接受我的回答](http:/ /meta.stackexchange.com/a/5235/204922)。 – Fenikso 2014-09-04 09:08:10

0

我有一個解決方法... HTML翻譯!

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

它爲我工作。再次感謝!

3

我有同樣的問題。

嘗試使用Qt.Qt.AlignCenter。

+0

非常感謝。它也適用於我。 – 2015-10-20 16:07:44

0

AlignCenter的值定義爲PyQt5.QtCore.Qt.AlignCenter, 另一個對齊值也定義爲QtCore.QtQtCore.Qt模塊還包含核心值,如鍵盤值CTRL,SHIFT,ALT等。

+0

你遲了幾年,但謝謝你:P – 2017-05-12 23:50:29