Подсказки на компьютерную тематику

Можно подсмотреть, если забыли…

Как создать классы и объекты в Qt на C++ в Ubuntu на примере базы данных

Основы создания и использования классов и объектов в ООП на C++

    Классы:

  • нужны для упрощения структуры и редактирования кода программы
  • это структура какой-либо сущности/предмета
  • используются для создания объектов, т.е. виртуальных моделей этой сущности, которые будут иметь такие же характеристики и способности/методы/функции
  • и названия их содержимого прописываются в файле с расширением .h, а подробное описание в файле с расширением .cpp
  • должны подключаться в тех файлах, в которых используются

Особенности создания нового класса на C++ в Qt

    при создании нового класса, например fordbworkclass в Qt следует учесть, что надо:

  • добавить файлы класса с расширениями .h и .cpp в файл программы с расширением .pro, например:
  • SOURCES += \
    fordbworkclass.cpp \
    main.cpp \
    mainwindow.cpp

    HEADERS += \
    fordbworkclass.h \
    mainwindow.h

    FORMS += \
    mainwindow.ui

  • заголовочный файл класса fordbworkclass.h по-умолчанию должен выглядеть так:
  • #ifndef FORDBWORKCLASS_H
    #define FORDBWORKCLASS_H

    class fordbworkclass
    {
    public:
    fordbworkclass();
    };

    #endif // FORDBWORKCLASS_H

  • а файл fordbworkclass.cpp так:
  • fordbworkclass::fordbworkclass()
    {

    }

Примеры файлов создания класса

    Файлы:

  • fordbworkclass.h
  • #include "QMainWindow">
    #ifndef FORDBWORKCLASS_H
    #define FORDBWORKCLASS_H

    class fordbworkclass
    {
    //private означает, что элементы НЕ доступны из других функций. их можно получить только с помощью public методов этого класса
    //установлено по умолчанию
    private:

    //все рабочие функции описываются после public
    public://public означает, что элементы доступны из других функций?
    fordbworkclass();

    //создание метода opendb()
    void opendb();//создаваемый метод класса для открытия и подключения к БД
    };
    #endif // FORDBWORKCLASS_H

  • fordbworkclass.cpp
  • #include "fordbworkclass.h"

    #include "QSqlQuery"//для работы с SQL запросами
    #include "QTableView"//для работы с графическим выводом информации в виде таблиц
    #include "QSqlTableModel" //класс для работы с редактируемой одиночной таблицей из БД
    #include "QSqlRelationalTableModel" //класс для работы с редактируемой таблицей из БД с поддержкой внешних ключей
    #include "QSqlQueryModel" //класс для работы с таблицей только для чтения из БД для вывода SQL запросов
    #include "QDebug"

    fordbworkclass::fordbworkclass()
    {
    }

    //описание метода opendb() - создаваемого метода класса для открытия и подключения к БД
    //fordbworkclass:: - означает, что метод создается для класса fordbworkclass
    void fordbworkclass::opendb()
    {
    //здесь идет подробное описание, что делает метод

    extern QSqlDatabase db;// подключение существующей переменной из другого файла - драйвера для БД SQLite

    //подключить БД по ее адресу на компьютере
    db.setDatabaseName("/home/mishanyya/fordbwork/examplebdfordbwork");
    //открывает базу данных, указанную в db.setDatabaseName("/home/mishanyya/fordbwork/examplebdfordbwork");
    db.open();
    }

Как создать классы и объекты в Qt на C++ в Ubuntu на примере базы данных

Основы создания и использования классов и объектов в ООП на C++

    Классы:

  • нужны для упрощения структуры и редактирования кода программы
  • это структура какой-либо сущности/предмета
  • используются для создания объектов, т.е. виртуальных моделей этой сущности, которые будут иметь такие же характеристики и способности/методы/функции
  • и названия их содержимого прописываются в файле с расширением .h, а подробное описание в файле с расширением .cpp
  • должны подключаться в тех файлах, в которых используются

Особенности создания нового класса на C++ в Qt

    при создании нового класса, например fordbworkclass в Qt следует учесть, что надо:

  • добавить файлы класса с расширениями .h и .cpp в файл программы с расширением .pro, например:
  • SOURCES += \
    fordbworkclass.cpp \
    main.cpp \
    mainwindow.cpp

    HEADERS += \
    fordbworkclass.h \
    mainwindow.h

    FORMS += \
    mainwindow.ui

  • заголовочный файл класса fordbworkclass.h по-умолчанию должен выглядеть так:
  • #ifndef FORDBWORKCLASS_H
    #define FORDBWORKCLASS_H

    class fordbworkclass
    {
    public:
    fordbworkclass();
    };

    #endif // FORDBWORKCLASS_H

  • а файл fordbworkclass.cpp так:
  • fordbworkclass::fordbworkclass()
    {

    }

Примеры файлов создания класса

    Файлы:

  • fordbworkclass.h
  • #include "QMainWindow">
    #ifndef FORDBWORKCLASS_H
    #define FORDBWORKCLASS_H

    class fordbworkclass
    {
    //private означает, что элементы НЕ доступны из других функций. их можно получить только с помощью public методов этого класса
    //установлено по умолчанию
    private:

    //все рабочие функции описываются после public
    public://public означает, что элементы доступны из других функций?
    fordbworkclass();

    //создание метода opendb()
    void opendb();//создаваемый метод класса для открытия и подключения к БД
    };
    #endif // FORDBWORKCLASS_H

  • fordbworkclass.cpp
  • #include "fordbworkclass.h"

    #include "QSqlQuery"//для работы с SQL запросами
    #include "QTableView"//для работы с графическим выводом информации в виде таблиц
    #include "QSqlTableModel" //класс для работы с редактируемой одиночной таблицей из БД
    #include "QSqlRelationalTableModel" //класс для работы с редактируемой таблицей из БД с поддержкой внешних ключей
    #include "QSqlQueryModel" //класс для работы с таблицей только для чтения из БД для вывода SQL запросов
    #include "QDebug"

    fordbworkclass::fordbworkclass()
    {
    }

    //описание метода opendb() - создаваемого метода класса для открытия и подключения к БД
    //fordbworkclass:: - означает, что метод создается для класса fordbworkclass
    void fordbworkclass::opendb()
    {
    //здесь идет подробное описание, что делает метод

    extern QSqlDatabase db;// подключение существующей переменной из другого файла - драйвера для БД SQLite

    //подключить БД по ее адресу на компьютере
    db.setDatabaseName("/home/mishanyya/fordbwork/examplebdfordbwork");
    //открывает базу данных, указанную в db.setDatabaseName("/home/mishanyya/fordbwork/examplebdfordbwork");
    db.open();
    }