2016-12-13 3 views
1

내가 SetLyouatDirection를 사용하여 오른쪽에서 왼쪽으로 위젯의 방향을 변경하려면 왼쪽으로하지만 에게이 내 결과 작동하지 않습니다PyQt는 변경 방향

enter image description here

이 내 코드를 :

for item in listConcrdance: 
     c+=1 
     widgitItem = QtGui.QListWidgetItem() 
     widget = QtGui.QWidget() 
     widgetText=QtGui.QLabel(str(c)+". "+item[1]+" ("+self.process.convertNumberToNameOFSorat(item[0][1])+":"+item[0][2]+")") 
     widgetText.setLayoutDirection(QtCore.Qt.RightToLeft) 
     widgetLayout = QtGui.QHBoxLayout() 
     widgetLayout.addWidget(widgetText) 
     widgetLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize) 
     widget.setLayout(widgetLayout) 
     self.listWidgetQuran.addItem(widgitItem) 
     widgitItem.setSizeHint(widget.sizeHint()) 
     self.listWidgetQuran.setItemWidget(widgitItem, widget) 
+0

이 widgetLayout.setLayoutDirection (QtCore.Qt.RightToLeft)' – SyedElec

+0

AttributeError'처럼'widgetLayout'에'setLayoutDirection (QtCore.Qt.RightToLeft을)'적용 해보십시오 : 'QHBoxLayout'객체 [문서] (http://doc.qt.io/qt-4.8/qboxlayout.html# : 어떤 속성 'setLayoutDirection' –

+0

나는'widgetLayout.setDirection (QtGui.QBoxLayout.RightToLeft)를 의미 죄송합니다'대신 setLayoutDirection''의이 없습니다 setDirection) – SyedElec

답변

3

사용 [your_label].setAlignment(QtCore.Qt.AlignRight) :

from PyQt4 import QtCore 
from PyQt4 import QtGui 


class Widget(QtGui.QWidget): 
    def __init__(self, parent=None): 
     super(Widget, self).__init__(parent=parent) 
     self.verticalLayout = QtGui.QVBoxLayout(self) 
     self.listWidget = QtGui.QListWidget(self) 
     self.verticalLayout.addWidget(self.listWidget) 
     for item in range(10): 
      widgitItem = QtGui.QListWidgetItem(self.listWidget) 
      widget = QtGui.QWidget() 
      widgetText = QtGui.QLabel(str(item)) 
      if item % 2 == 0: 
       widgetText.setAlignment(QtCore.Qt.AlignRight) 
      else: 
       widgetText.setAlignment(QtCore.Qt.AlignLeft) 
      widgetLayout = QtGui.QHBoxLayout() 
      widgetLayout.addWidget(widgetText) 
      widget.setLayout(widgetLayout) 
      widgitItem.setSizeHint(widget.sizeHint()) 
      self.listWidget.setItemWidget(widgitItem, widget) 

if __name__ == '__main__': 
    import sys 
    app = QtGui.QApplication(sys.argv) 
    w = Widget() 
    w.show() 
    sys.exit(app.exec_()) 

출력 :

enter image description here