Pyside QML Hello World

Программисту 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_())

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

Вот так вот.

Просмотров:   1811

Комментарии

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

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Введи эти символы. Ато роботы одолели!