Я хотел бы изменить направление Qtablewidget справа налево - PullRequest
0 голосов
/ 21 декабря 2018

Мне нужно, чтобы Qtablewidget запускался справа налево, что означает вертикальный заголовок () справа

    self.table = QTableWidget()
    self.table.setGeometry(0 , 0 , 700 , 700)
    self.table.setColumnCount(4)
    self.table.setRowCount(30)
    self.table.setHorizontalHeaderLabels(['يومى', 'الاسبوع' , 'الشهرى' , 'المادة'])
    self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

enter image description here

1 Ответ

0 голосов
/ 21 декабря 2018

layoutDirection: Qt :: LayoutDirection

Это свойство содержит направление макета по умолчанию для этого приложения

При запуске системы направление макета по умолчанию зависит от языка приложения.

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore    import *

class MyWin(QMainWindow):
    def __init__(self, parent=None):
        super(MyWin, self).__init__()
        central_widget = QWidget()
        self.setCentralWidget(central_widget)

        self.table = QTableWidget(central_widget)
        self.table.setGeometry(0 , 0 , 700 , 700)
        self.table.setColumnCount(4)
        self.table.setRowCount(30)
        self.table.setHorizontalHeaderLabels(['يومى1', 'الاسبوع2' , 'الشهرى3' , 'المادة4'])
        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.setLayoutDirection(Qt.RightToLeft)           # <-------------------
    w = MyWin()
    w.resize(700, 700)
    w.show()
    sys.exit(app.exec_())

enter image description here

...