Что-то
я совсем забросил свой блог, пора наверстывать упущенное. Итак, ныне очень
актуально писать мобильные и десктопные приложения, которые общаются с сервером
с помощью HTTP запросов и есть довольно
частая проблема с тем, как заставить их работать. Данный пример писался на Qt + node.js для backend. Версия Qt 5.4.2, но и на 5.7 код не
должен отличаться.
четверг, 28 июля 2016 г.
понедельник, 28 апреля 2014 г.
Сетевой обмен в Qt (QTcpServer и QTcpClient) (часть 1)
Практически все стоящие приложения так или иначе связаны с сетевым обменом данных. Этот пост посвящен обмену по tcp-протоколу между клиентом и сервером для Qt 5.2.1
пятница, 4 октября 2013 г.
Создание ApplicationWindow в QML для qt 5.1
В 5 версии Qt в QML добавили множество новых элементов для десктоп разработки. Но диллема оказалась в том, что на том же маке применить их оказалось не тривиальной задачей.
понедельник, 4 марта 2013 г.
пятница, 15 февраля 2013 г.
Отображение yandex maps в Qt приложении
К сожалению из текущих возможных путей я нашел вывод карт лишь с помощью QWebView. Если кто-то найдёт более эффективный способ, крайне прошу поделиться с народом :)
четверг, 14 февраля 2013 г.
Поддержка русских символов в QRegExp
В своё время мне "посчастливилось" столкнуться с проблемой поддержки русского текста регулярными выражения. Решением делюсь с вами.
Примеры QRegExp
Для фильтра вводимых данных очень многие просто жаждут использовать QRegExp. Одну нудную статью на эту тему я уже написал. В данной статье я просто покажу несколько примеров с пояснениями.
понедельник, 14 января 2013 г.
Захват экрана в Qt (Screenshot)
Не часто встречается такая задача - сделать захват экрана. Но так как в последнее время это было одно из моих увлечений, эту мелочь я решил вам поведать.
четверг, 20 декабря 2012 г.
воскресенье, 2 декабря 2012 г.
Статическая сборка библиотеки QT под MS Visual studio
Я думаю никто не рвётся выпускать своё приложение с кипой библиотек... Чтобы приложение запускалось свободно на других машинах необходимо собрать библиотеку, а затем и само приложение. Ниже я опишу как это сделать.
воскресенье, 25 ноября 2012 г.
Qt Quick - несколько форм (окон в одном приложении)
В данном посте я расскажу о том, как добавить несколько форм в одно приложение. Речь пойдёт не о QWidget, а формах внутри одного окна. Для показательного примера мы создадим одно окно регистрации, и в случае ввода верного логина и пароля покажем скрытый текст.
среда, 14 ноября 2012 г.
Qt Creator не сохраняет измененную форму
Возможно вы уже встречались с этим багом как и я. На моей памяти это уже 10+ встреча, но до этого этот баг вскакивал под конец выполнения проекта, и я не особо заморачивался этой темой, простой открывал форму в Qt Designer и пересохранял ui_ файл. Сегодня же я решил добить эту проблему...
вторник, 6 ноября 2012 г.
Поддержка русского языка в приложениях на Qt
Одна из стандартных проблем, с которой встречается каждый разработчик из России, это поддержка русского языка в приложениях на Qt. По умолчанию русский текст выводится кракозябрами, и может потребоваться довольно много времени чтобы всё-таки разобраться как это устранить.
пятница, 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 удалим выход по нажатию. После изменений код станет выглядеть следующим образом:
Создадим новое 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-х полях, фамилия, имя и отчество. При этом из первой формы во вторую необходимо передать уже введённые данные, дабы не выводить пустую форму. А по нажатию кнопки "Ок" во второй форме передать введённые данные в первую форму.
Для примера мы с вами создадим две формы. В первой будет поле ввода и кнопка. В поле ввода мы с вами будем вводить ФИО, а при нажатии на кнопку у нас будет открываться вторая форма, в которой ФИО вводится в 3-х полях, фамилия, имя и отчество. При этом из первой формы во вторую необходимо передать уже введённые данные, дабы не выводить пустую форму. А по нажатию кнопки "Ок" во второй форме передать введённые данные в первую форму.
среда, 17 октября 2012 г.
Чтение данных из файла через QFile
Это будет первый из нескольких способов чтения данных из файлов. Я постараюсь постепенно усложнять процесс чтения, но при этом будет повышаться эффективность для конкретных задач.
Подписаться на:
Сообщения (Atom)