воскресенье, 28 апреля 2013 г.

Несколько полезных программ для Linux


1) Filelight — Программа для просмотра статистики по используемому дисковому пространству (http://methylblue.com/filelight/).

2) BleachBit — Программа для очистки от ненужных файлов. (http://bleachbit.sourceforge.net/).

3) CPU-G -  Программа для просмотра информации о процессоре, системной плате, памяти, установленной системе. (http://sourceforge.net/projects/cpug/).

4) HTTraQt - Программа для скачивания интернет сайтов и их содержимого. (http://sourceforge.net/projects/httraqt/).

вторник, 23 апреля 2013 г.

Qt. Минимальный проект


Для создания минимального проекта используется Qt Creator 2.7.0, Fedora 18 Linux. Версия Qt 4.8.4.

1. Создание проекта

Откройте Qt Creator, выберите меню File > New File or Project. Далее вам нужно указать шаблон проекта, для этого выбираем Other Project > Empty Qt Project и нажимаем кнопку Choose (смотрите рисунок 1).

Рисунок 1. Диалог выбора шаблона проекта
 
Далее откроется мастер создания пустого проекта (рисунок 2). 

Рисунок 2. Присваиваем имя проекту и указываем локацию

 Имя проекта укажите, например, qt_p1, а путь сохранения проекта ~/Projects/QT домашней директории пользователя. Нажимаем кнопку Next.

На следующем шаге вас попросят указать инструменты компиляции, сборки и запуска проекта. Если данный шаг пуст, то вам необходимо вручную в настройках среды, меню Tools > Options, выбрать раздел Build and Run и во вкладке Kits (что такое Kits на английском) указать необходимые настройки, т.е. указать версию компилятора, версию библиотеки Qt (смотрите рисунок 3).

Рисунок 3. Настройки среды

В том случае, если среда уже настроена, то нажимаем кнопку Next и переходим к следующему шагу мастера создания пустого проекта. На следующем шаге мастер подводит итоги и поэтому нажимаем кнопку Finish.

Ну вот, шаблон пустого проекта готов и мы перед собой видим что-то похожее на рисунок 4.

Рисунок 4. Редактор проекта

В окне среды слева мы видим дерево проекта, а справа редактор кода (смотрите рисунок 4).

На следующем этапе нам необходимо создать класс главного окна, присвоим ему имя MainWindow, который будет унаследован от базового класса с именем QMainWindow.

Рисунок 5. Добавление класса главного окна

Для добавления класса главного окна необходимо нажать правой кнопкой мыши на имени проекта из дерева проекта и выбрать пункт меню Add New (рисунок 5).

Рисунок 6. Выбор шаблона файла

В диалоге выбора шаблона файла, необходимо выбрать C++ Class, потом нажать кнопку Choose (рисунок 6) . В мастере создания класса присвоить ему имя MainWindow и нажать кнопки Next и Finish (рисунок 7).

Рисунок 7. Присвоим имя классу главного окна

После этого вы увидите две категории проекта с названиями Headers и Sources, в этих категориях будут размещены заголовочный и исходный файлы нашего класса главного окна, с именами mainwindow.h и mainwindow.cpp, соответственно.

Если вы посмотрите на содержимое файлов mainwindow.h и mainwindow.cpp, вы увидите код, который нам сгенерировал мастер создания нового класса. Ниже будет показано содержимое этих двух файлов.

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    
signals:
    
public slots:
    
};

#endif // MAINWINDOW_H


syntax highlighted by Code2HTML, v. 0.9.1

#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent)
{
}

syntax highlighted by Code2HTML, v. 0.9.1


2. Переходим к написанию кода


Первым делом нам нужно определить главную функцию программы, это начальная точка откуда начинает выполнятся программа. Это функция называется main и разместим мы ее в исходном файле (mainwindow.cpp) класса главного окна. В конце файла запишем следующее:

int main(int argc, char *argv[]) { }

Далее по тексту все изменения будем вносить только в файл mainwindow.cpp.

Для начала подключим заголовок класса QApplication, разместив следующую строку:
#include <QApplication> после строки #include "mainwindow.h".

В Qt есть класс с именем QApplication, который содержит в себе главный цикл обработки сообщений, и отвечает за обработку и пересылку всех событий от оконной системы к нашему приложению. Мы должны создать объект класса QApplication и он должен быть, в нашем приложение, единственным. Данный объект должен быть создан в самом начале функции main, перед тем как мы будем размещать виджеты (Кнопки, метки и т.д.), картинки в главном окне.

QApplication app(argc, argv);

В конце функции main мы должны передать управление библиотеке Qt, таким образом запускается цикл обработки сообщений и ожидается пока не будет вызвана функция exit() или пока не уничтожится главное окно (главный виджет).

return app.exec();

Между этими двумя основными конструкциями нам осталось разместить две строчки кода. Первой строчкой мы создадим экземпляр нашего класса главного окна MainWindow и присвоим ему имя window.

MainWindow *window = new MainWindow;

Второй строчкой мы сделаем главное окно видимым.

window->show();

Метод show нам предоставлен базовым классом QMainWindow от которого мы его и унаследовали.

Ниже показан файл mainwindow.cpp вместе с главной функцией main:

#include "mainwindow.h"
#include <QApplication>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent)
{
}

int main(int argc, char *argv[]) {

    QApplication app(argc, argv);

    MainWindow *window = new MainWindow;
    window->show();
    return app.exec();
}


syntax highlighted by Code2HTML, v. 0.9.1


Рисунок 8. Снимок рабочего стола, минимальный проект Qt


Ну и конечно же файл qt_p1.pro, является файлом проекта, где указаны наши файлы входящие в проект, к этим файлам относится mainwindow.h и mainwindow.cpp. Ниже показано содержимое файла проекта:

HEADERS += \
       mainwindow.h
SOURCES += \
       mainwindow.cpp