понедельник, 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

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

четверг, 4 октября 2012 г.

Сборка драйверов PostgreSQL для Qt под Windows с MinGW

В стандартной комплектации Qt SDK под Windows драйвера для работы с СУБД PostgreSQL отсутствуют. Есть несколько путей решения этой проблемы, равное количеству возможных компиляторов. Мы соберём всё это дело под MinGW, так как в этом случае нам не придётся слишком заморачиваться с вопросом версий и Service Packов, как для студийного компилятора.