Pyside QML Hello World

Опубликовано lamazavr - вт, 06/30/2015 - 18:55
Body

Программисту Python порой очень хочется запрограммировать еще и какой нибуть GUI.
Есть всем известный pyqt. Но ребята жадничают с лицензией и вы не сможете использовать его в комерческих целях.
А разучивать очередной продукт без интереса рабочего тоже как то не весело.
Так вот. Есть еще проект pyside, начатый уже после продажи Qt из Nokia в Digia.
Скажу честно, знаток PyQt я никакой. Но эта библиотека мне както ближе к телу.
Посмотрим как можно сделать QML привет мир.
QML файл в котором создаем интерфейс.

import QtQuick 1.0

Rectangle {
 width: 200
 height: 200
 color: "red"

Text {
 text: "Hello World"
 anchors.centerIn: parent
 }
}

Ну а теперь код на питоне.

#!/usr/bin/env python
# -'''- coding: utf-8 -'''-
 
import sys
from PySide.QtCore import *
from PySide.QtGui import *
from PySide.QtDeclarative import *
 
# наше окно
class MainWindow(QDeclarativeView):
 
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setWindowTitle("Main Window")
        # подгружаем 'view.qml'
        self.setSource(QUrl.fromLocalFile('view.qml'))
        # чтобы QML ресайзился вместе с окном
        self.setResizeMode(QDeclarativeView.SizeRootObjectToView)
 
if __name__ == '__main__':
    # создаем QApplication
    app = QApplication(sys.argv)
    # создаем и показываем окно
    window = MainWindow()
    window.show()
    # пускаем цикл ожидания
    sys.exit(app.exec_())

После этого можем запускать.

Вот так вот.

Категория

Добавить комментарий

Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.