#!/usr/bin/env python

import sys

try:
    from PySide6.QtCore import QLibraryInfo, qVersion, Qt
    from PySide6.QtGui import QShortcut
    from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QFrame
except ImportError:
    from PySide2.QtCore import QLibraryInfo, qVersion, Qt
    from PySide2.QtWidgets import QApplication, QWidget, QShortcut, QVBoxLayout, QLabel, QFrame


class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()


def framed_label(t):
    l = QLabel(t)
    l.setFrameShape(QFrame.Box)
    return l


if __name__ == '__main__':
    print('Python {}.{}'.format(sys.version_info[0], sys.version_info[1]))
    print(QLibraryInfo.build())
    app = QApplication(sys.argv)

    window = Window()
    window.setWindowTitle(qVersion())

    sc = QShortcut(Qt.CTRL | Qt.Key_Q, window)
    sc.activated.connect(window.close)

    vLayout = QVBoxLayout(window)
    vLayout.addWidget(framed_label(qVersion() + " Label1 bla bla bla"))
    vLayout.addWidget(framed_label("Label2"))
    vLayout.addWidget(framed_label("Label3"))
    item = vLayout.itemAt(1)
    item.setAlignment(Qt.AlignRight)
    top_c = Qt.AlignRight | Qt.AlignTop
    item = vLayout.itemAt(2)
    item.setAlignment(top_c)

    window.show()
    sys.exit(app.exec_())
