Тема участвует в конкурсе «Смартфоны для умных постов» .
Я давно хотел присмотреться к QtQuick и QML, и вот появился повод. Я планировал начать классически — с Hello World, но при создании нового проекта Qt Creator генерирует просто Hello World, поэтому героически написать его самостоятельно невозможно.
Что ж, тогда давайте стремиться к чему-то большему.
Давайте напишем программу, которая при запуске показывала бы что-то случайное, но красивое и вдохновляющее, и закрывала бы ее при нажатии в любом месте.
Мне это нравится фотографии природы .
Что меня глубоко тронуло, так это то, что я написал эту программу в незнакомой IDE и на практически неизвестном языке примерно за 500 секунд, 400 из которых я понял Qt Creator и прочитал одно короткое руководство.
Итак, установите Qt SDK и запустите Qt Creator.
Создаем новый проект типа «Qt Quick Application» (в мастере создания проекта можно оставить все по умолчанию).
В результате мы получаем тот самый Hello world, о котором я говорил вначале:
http://media.oboobs.ru/boobs/05055.jpgНажмите кнопку «Дизайн» и вы попадете в конструктор.
Удаление элемента » Текст " в Навигаторе.
Вместо этого в Библиотеке (панель ниже) выберите компонент " Изображение » и перетащите его на форму.
Далее на вкладке «Макет» нажмите кнопку «Заполнить предка», что растянет наше изображение на всю форму.
Для тех, кому стало скучно на середине, прямо сейчас сделаем перерыв: переходим на вкладку « Изображение » и в поле «Источник» вставьте ссылку: import QtQuick 1.0
Rectangle {
width: 360
height: 360
Text {
text: qsTr("Hello World")
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
}
Нажмите Ctrl+R. Вот наша программа, которая уже радует глаз!
Но дело было не в этом.
Нам нужно разнообразие, а значит, картинка каждый раз должна быть разной.
Делается это настолько легко, что вы даже глазом не успеете моргнуть.
Для этого зайдите в Редактор (кнопка слева вверху) и измените код на такой: import QtQuick 1.0
Rectangle {
width: 360
height: 360
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
Image {
id: image1
anchors.fill: parent
source: " http://media.oboobs.ru/boobs/"+ getPictureId() + ".
jpg"
function getPictureId(number, length) {
var str = '' + Math.round(Math.random() * 5055);
while (str.length < 5) {
str = '0' + str;
}
return str;
}
}
}
}
Мы только что добавили генерацию ссылки на основе вызова функции getPictureId, которая возвращает значения от 00000 до 05055 (текущая текущая картинка на сайте).
Вот и все — у нас есть программа, работающая сразу на куче мобильных и десктопных платформ, которую вы даже можете запустить на досуге один-два раза, чтобы поднять себе настроение.
И все было сделано буквально за пару минут. Честно говоря, я был поражен такой простотой.
Барьер входа в QML-разработку крайне низок, и можно создать проект любой сложности (с учетом возможности использовать всю мощь Qt и C++).
Действуй! Теги: #n9_contest #qml #qtquick #Friday #Friday #красиво #Разработка мобильных приложений
-
Выставка «Веб-Студия 2009»
19 Oct, 24 -
Ответы По Ипотеке.
19 Oct, 24