Skip to content

mmd18cury/characteristics_view

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

О чем проект:

Приложение для работы с табличными данными о деталях.

Основные функции:

  1. Добавить строку: Добавляем строку в конец таблицы. Для заполнения строки открывается диалоговое окно с соответствующими полями ввода.

  2. Удалить строку: Удаляет выделенную строку.

Дополнительный функционал:

  • Добавлены иконки в таблицу, чтобы их убрать в соответствующем помощнике необходимо изменить методы MethodHelper::getIcon() и StyleHelper::getIcon()
  • Добавлена возможность работать с деталями по указателю, при изменении их данных это автоматически отобразится в таблице, в том числе можно удалять их.
  • Каждый материал содержит полное имя name и сокращенное short_name, short_name содержит только первое слово из name
  • Стрелка QComboBox::down-arrow "переворачивается" при нажатии
  • QComboBox с единицами измерения для полей массы и плотности. Потенциально можно добавить их обработку моделью.

Структура кода:

  • MainWindow и ControllerDialog - UI классы.
  • FillMode - класс описывающий режим ввода, какие поля показывать/скрывать, какие разгреить/загреить, какие значения указывать по умолчанию и т.д. Можно создавать по объекту этого класса для каждого способа расчёта параметров детали, если в них отличаются требуемые поля ввода и т.п.
  • PartItem - класс хранящий информацию о деталях, предназначенный для хранения в табличной модели, испускает сигналы, когда его поля меняются.
  • Material - класс хранящий информацию о материале и способе его штриховки.
  • PartModel - класс хранящий основую информацию - список деталей. Использует вспомогательные классы наследники AbstractHelper для каждой колонки. Каждый столбец соответствует полю класса PartItem, либо его внутренних классов.

Работа вспомогательных классов:

Схема подключения сигналов деталей на примере трёх первых столбцов таблицы. Каждый помощник отвечает за своё поле в PartItem и, в некотором смысле, представляет собой один столбец табличной модели. Этот подход более объектно-ориентированный и универсальный, позволяет проще реализовать остальные роли ячеек, либо добавить новые поля в PartItem. chart

About

Handful classes for Qt development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published