четверг, 28 июля 2016 г.

GET и POST запросы в Qt 5.4.2 и Qt 5.7

Что-то я совсем забросил свой блог, пора наверстывать упущенное. Итак, ныне очень актуально писать мобильные и десктопные приложения, которые общаются с сервером с помощью HTTP запросов и есть довольно частая проблема с тем, как заставить их работать. Данный пример писался на Qt + node.js для backend. Версия Qt 5.4.2, но и на 5.7 код не должен отличаться.

понедельник, 28 апреля 2014 г.

Сетевой обмен в Qt (QTcpServer и QTcpClient) (часть 1)

Практически все стоящие приложения так или иначе связаны с сетевым обменом данных. Этот пост посвящен обмену по tcp-протоколу между клиентом и сервером для Qt 5.2.1

пятница, 4 октября 2013 г.

Создание ApplicationWindow в QML для qt 5.1

В 5 версии Qt в QML добавили множество новых элементов для десктоп разработки. Но диллема оказалась в том, что на том же маке применить их оказалось не тривиальной задачей.

пятница, 15 февраля 2013 г.

Отображение yandex maps в Qt приложении

К сожалению из текущих возможных путей я нашел вывод карт лишь с помощью QWebView. Если кто-то найдёт более эффективный способ, крайне прошу поделиться с народом :)

четверг, 14 февраля 2013 г.

Поддержка русских символов в QRegExp

В своё время мне "посчастливилось" столкнуться с проблемой поддержки русского текста регулярными выражения. Решением делюсь с вами.

Примеры QRegExp

Для фильтра вводимых данных очень многие просто жаждут использовать QRegExp. Одну нудную статью на эту тему я уже написал. В данной статье я просто покажу несколько примеров с пояснениями.

понедельник, 14 января 2013 г.

Захват экрана в Qt (Screenshot)

Не часто встречается такая задача - сделать захват экрана. Но так как в последнее время это было одно из моих увлечений, эту мелочь я решил вам поведать.

воскресенье, 2 декабря 2012 г.

Статическая сборка библиотеки QT под MS Visual studio

Я думаю никто не рвётся выпускать своё приложение с кипой библиотек... Чтобы приложение запускалось свободно на других машинах необходимо собрать библиотеку, а затем и само приложение. Ниже я опишу как это сделать.

воскресенье, 25 ноября 2012 г.

Qt Quick - несколько форм (окон в одном приложении)

В данном посте я расскажу о том, как добавить несколько форм в одно приложение. Речь пойдёт не о QWidget, а формах внутри одного окна. Для показательного примера мы создадим одно окно регистрации, и в случае ввода верного логина и пароля покажем скрытый текст.

среда, 14 ноября 2012 г.

Qt Creator не сохраняет измененную форму

Возможно вы уже встречались с этим багом как и я. На моей памяти это уже 10+ встреча, но до этого этот баг вскакивал под конец выполнения проекта, и я не особо заморачивался этой темой, простой открывал форму в Qt Designer и пересохранял ui_ файл. Сегодня же я решил добить эту проблему...

вторник, 6 ноября 2012 г.

Поддержка русского языка в приложениях на Qt

Одна из стандартных проблем, с которой встречается каждый разработчик из России, это поддержка русского языка в приложениях на Qt. По умолчанию русский текст выводится кракозябрами, и может потребоваться довольно много времени чтобы всё-таки разобраться как это устранить.

Создание меню на форме, QMenu

Для тех кто хочет добавить меню на форму, прошу сюда :)

пятница, 2 ноября 2012 г.

QML, создание кнопки Button

Для создания большинства приложений требуются стандартные элементы управления, такие как кнопки и поля ввода. И если с полями ввода в Desktop-приложениях в QML всё не так плохо, то кнопок просто напросто нет. Благо порядок создания кнопки довольно прост. Именно о кнопки и будет эта статья.

понедельник, 22 октября 2012 г.

Создание модели на базе QAbstractTableModel для QTableView, дополнение

Указанных в предыдущей статье описаний для хорошей жизни явно недостаточно. Довольно часто бывает необходимо задать заголовки столбцов, или сделать строки уникального (другого) цвета. Данные вопросы я и поведаю в данной статье.

воскресенье, 21 октября 2012 г.

Создание модели на базе QAbstractTableModel для QTableView

Существует множество способов вывести табличные данные. Один из таких способов (и на мой взгляд наиболее правильный) выводить данные в QTableView. Для данного виджета существует специальная модель данных QAbstractTableModel. На её базе мы и сделаем пример.

пятница, 19 октября 2012 г.

QML + JavaScript, начало


В связи с тем что в последние 2 месяца я активно трудился в дебрях библиотеки Sencha, то у меня появился некоторый опыт работы с JavaScript.
Исходя из полученных знаний я решил в очередной раз опробовать свои силы в кодах QML + JS, (в прошлый раз это был провал).

Создадим новое Qt Quick приложение:
Файл -> Новый файл или проект... -> Проект Qt Quick -> Интерфейс пользователя на Qt Quick.

В новом проекте сразу добавим js файлик.
Файл -> Новый файл или проект... -> QML -> Файл JS и обзовём его myjstest.js

Итак, первым делом в нашем QML коде для главного прямоугольника зададим id, а в MouseArea удалим выход по нажатию. После изменений код станет выглядеть следующим образом:
// import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
import QtQuick 1.1
Rectangle {
    id: mainRec
    width: 360
    height: 360
    Text {
        anchors.centerIn: parent
        text: "Hello World"
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
        }
    }
}
Теперь в myjstest.js сделаем так, чтобы функция func() что-нибудь делала. Например будем менять у mainRec фоновый цвет. Тогда func() станет выглядеть так:
function func() {

    mainRec.color = "blue"

}

Ну и последним этапом подключим наш JS файл и вызовем нашу функцию:
// import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
import QtQuick 1.1
import "myjstest.js" as JsTry // подключаем js файл
Rectangle {
    id: mainRec
    width: 360
    height: 360
    Text {
        anchors.centerIn: parent
        text: "Hello World"
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
            JsTry.func() // вызываем написанную нами функцию
        }
    }
}


Обмен данными между формами

Почти всегда стоит задача создать более одной формы. И чаще всего эти формы должны обмениваться данными.
Для примера мы с вами создадим две формы. В первой будет поле ввода и кнопка. В поле ввода мы с вами будем вводить ФИО, а при нажатии на кнопку у нас будет открываться вторая форма, в которой ФИО вводится в 3-х полях, фамилия, имя и отчество. При этом из первой формы во вторую необходимо передать уже введённые данные, дабы не выводить пустую форму. А по нажатию кнопки "Ок" во второй форме передать введённые данные в первую форму.

среда, 17 октября 2012 г.

Чтение данных из файла через QFile

Это будет первый из нескольких способов чтения данных из файлов. Я постараюсь постепенно усложнять процесс чтения, но при этом будет повышаться эффективность для конкретных задач.