2014-09-03 10 views
5

लेबल संरेखित करें यह वास्तव में सरल होना चाहिए लेकिन मुझे इसके लिए कोई जवाब नहीं मिल रहा है। मैं इस PyQt4 कोड की कोशिश की है:PyQt5: केंद्र

label.setAlignment(Qt.AlignCenter) 

लेकिन है कि मुझे कोई भाग्य देता है।

धन्यवाद

+0

क्या कोई अन्य संरेखण झंडे काम करते हैं? उदाहरण के लिए, क्या आप लेबल को सही ढंग से संरेखित कर सकते हैं ('Qt.AlignRight' का उपयोग करके), या लेबल को संरेखित करें (' Qt.AlignBottom' का उपयोग करके)? –

+1

मेरे लिए एक आकर्षण की तरह काम करता है। लेकिन मैं पायसाइड का उपयोग करता हूं, शायद पीईक्यूटी 4 में समस्या है हालांकि संभावना नहीं है। – Trilarion

+0

@three_pineapples नहीं। –

उत्तर

5

मुझे लगता है कि समस्या हो सकती है कि लेबल केंद्रित है, लेकिन यह अंतरिक्ष आपको लगता है यह करता है को नहीं भरता है। आप लेबल पृष्ठभूमि रंग बदलकर सत्यापित कर सकते हैं। निम्न उदाहरण विंडोज 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

"नाम त्रुटि: QSizePolicy परिभाषित नहीं है।" संपादित करें: पूरे कार्यक्रम के लिए कोड यहां दिया गया है: http://goo.gl/Qpte2p –

+0

धन्यवाद, मैंने समस्या का समाधान किया। मैं प्रतिष्ठा के कारण आपको उखाड़ फेंक नहीं सकता लेकिन मुझे आशा है कि अन्य लोगों को यह सहायक लगेगा (यह मेरे लिए काम नहीं करता है: /) –

+0

अगर आपको लगता है कि मेरा जवाब आपकी मदद करता है, तो आप [मेरा जवाब स्वीकार कर सकते हैं] (http://meta.stackexchange.com/a/5235/204922)। – Fenikso

0

मैं एक वैकल्पिक हल मिल गया है ... एचटीएमएल अनुवाद!

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

बहुत बहुत धन्यवाद। यह भी मेरे लिए काम करता है। –

0

AlignCenter का मान PyQt5.QtCore.Qt.AlignCenter, पर परिभाषित किया गया था अन्य संरेखण मूल्य भी QtCore.Qt पर परिभाषित किया गया था। QtCore.Qt मॉड्यूल में मूल मान भी शामिल है जैसे कुंजीपटल मान CTRL, SHIFT, ALT इत्यादि

+0

आप कुछ साल देर हो चुकी हैं, लेकिन आपको कम से कम धन्यवाद नहीं: पी –

संबंधित मुद्दे