1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ALONE_WORK-QtCeShiXiangMu

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Qt 测试项目

Данный проект включает в себя несколько демонстрационных программ Qt, используемых для тестирования различных модулей.

Проект Плагин Описание функций
JSqlServer Нет Программа для подключения к данным SQL Server и их тестирования.
JMySql Официальная библиотека MySQL Программа для удалённого подключения к данным MySQL и их тестирования.
JSQL Официальная библиотека MySQL Имитация программного обеспечения Navicat для работы с базами данных.
JThread Нет Использование наследования QObject для управления потоками и операций над ними.
ImageDemo Нет Реализация проверки подлинности при входе в систему 12306 путём отображения изображения с логотипом поезда после нажатия на проверочный код.
MulThreadSQL Официальная библиотека MySQL Многопоточный доступ к базе данных.
SingleChannel QCustomPlot Построение графиков волновых форм и управление ими на основе QCustomPlot.
DrawDXF dxflib Чтение файлов Dxf и отображение их содержимого.
FirFilter QCustomPlot Чтение данных волновых форм из файла, преобразование Фурье, фильтрация и другие операции.
FirFilter2 QCustomPlot Чтение данных волновых форм из файла, преобразование Фурье, фильтрация и другие операции.
MatlabDemo Нет Вызов библиотеки MATLAB.
EChartDemo ECharts Отображение столбчатых диаграмм и обеспечение коммуникации на основе ECharts.
WebFirFilter ECharts Фильтрация волновых форм, а затем использование ECharts для их отображения.
JTabWidgetDemo Нет Основные операции и настройка стиля QTabWidget.
JMainFrame Нет Создание структуры программного обеспечения с использованием Qt.
DxfGraphics dxflib Отображение линий с помощью GraphicsView на основе Dxf.
TabScorllArea Имитационная реализация прокручиваемого окна настроек, подобного тому, что используется в музыкальном сервисе NetEase Cloud Music.
DateEditQSS Изменение QDateEdit и QCalendarWidget с помощью QSS.
FormatData Инструмент для форматирования данных.
JLogger Система журналов Qt с изменениями, внесёнными в исходный код «Летающий Цин Юнь».
dmDatabaseDemo Пример программы для подключения и использования базы данных Dameng.
codeSnippet Папка для хранения фрагментов кода, перенесённых из Code Cloud.
JLogger_2 Обновлённая версия системы журналов Qt, обеспечивающая вывод журналов в файлы, сеть и базу данных.
LocalString Поиск содержимого всех файлов в каталоге.
shadow Добавление теней к элементам управления.
codeStatistics Статистика кода.

JSqlServer

Этот проект представляет собой программу для подключения к данным SQL Server с использованием Qt и их тестирования. Программа автоматически подключается к базе данных при запуске и выводит информацию об успешном или неудачном подключении в консоль. При нажатии кнопки на интерфейсе отображаются данные таблицы.

В файле xxx.pro проекта необходимо добавить модуль sql, иначе программа не будет работать. В Qt это делается с помощью команды QT += sql.

JMySql

Это проект для подключения к удалённой базе данных MySQL с использованием Qt и её тестирования. Программа автоматически подключается к базе данных при запуске и выводит информацию об успешном или неудачном подключении в консоль. При нажатии кнопки на интерфейсе отображаются данные таблицы.

Для использования программы необходимо заполнить информацию о собственной базе данных, так как в этом проекте удалена информация о удалённой базе данных для защиты личных данных. Также в файле xxx.pro проекта необходимо добавить модуль sql, иначе программа не будет работать. В Qt это делается с помощью команды QT += sql.

JSQL

Эта программа имитирует программное обеспечение Navicat для управления базами данных MySQL и SQL Server. Она разработана с целью постепенного расширения функциональности от простых функций до более сложных.

JThread

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

  • Наследование QObject, затем перемещение потока с помощью moveToThread.
  • Запуск и завершение потока.
  • Мьютекс для синхронизации доступа к общим переменным в потоке.

ImageDemo

Демонстрационный проект, реализующий проверку подлинности при входе в систему 12306. После нажатия на проверочный код на экране появляется изображение с логотипом поезда.

Программа загружает проверочное изображение с помощью QLabel. Каждый раз при нажатии на изображение его информация сохраняется. На основе координат определяется, был ли клик успешным.

MulThreadSQL

Экспериментальный проект, демонстрирующий многопоточный доступ к базе данных в сравнении с однопоточным доступом. В программе используются потоки, наследуемые от QObject. Доступ к базе данных осуществляется в реальном времени. Операции с базой данных были дополнительно упакованы.

SingleChannel

На основе QCustomPlot реализуется построение графиков волновых форм и управление ими.

Реализованы следующие функции:

  • Построение графика волновой формы.
  • Увеличение выбранной области графика для детального просмотра волновой формы.
  • Отображение линии, соответствующей начальной точке, при щелчке левой кнопкой мыши на графике.
  • Восстановление исходного вида при щелчке средней кнопкой мыши.

DrawDXF

С использованием dxflib реализуется чтение файлов Dxf и их отображение.

Реализованы следующие функции:

  • Чтение файлов Dxf с помощью dxflib.
  • Рисование содержимого файлов Dxf в Qt с использованием QGraphicsView, QGraphicsScene и QGraphicsItem.
  • Возможность увеличения, уменьшения, перетаскивания и восстановления графики с помощью мыши.
  • Восстановление первоначального вида при щелчке средней кнопкой мыши.

FirFilter

Волновые формы отображаются с использованием QCustomPlot, также выполняется преобразование Фурье и другие алгоритмы обработки данных.

Реализованы следующие функции:

  • Чтение данных волновых форм в определённом формате.
  • Получение спектра волновых форм с помощью быстрого преобразования Фурье.
  • Реализация фильтра с бесконечной импульсной характеристикой (FIR) с использованием оконной функции.
  • Фильтрация входных волновых форм для получения выходных волновых форм.
  • Преобразование выходных волновых форм с помощью быстрого преобразования Фурье для получения спектра волновых форм.

MatlabDemo

Вызов библиотеки MATLAB.

EChartDemo

Отображение столбчатых диаграмм на основе ECharts и обеспечение коммуникации.

WebFirFilter

Фильтрация волновых форм с последующим отображением их с использованием ECharts.

JTabWidgetDemo

Основные операции и настройка стиля QTabWidget.

JMainFrame

Создание структуры программного обеспечения с использованием Qt.

DxfGraphics

Отображение линий с использованием GraphicsView на основе файлов Dxf.

TabScorllArea

Имитационная реализация прокручиваемого окна настроек, подобного окну настроек в музыкальном сервисе NetEase Cloud Music.

DateEditQSS

Изменение QDateEdit и QCalendarWidget с использованием QSS.

FormatData

Инструмент для форматирования данных.

JLogger

Система журналов Qt с изменениями, внесёнными в исходный код «Летающего Цин Юня».

dmDatabaseDemo

Пример программы для подключения и использования базы данных Dameng.

codeSnippet

Папка для хранения фрагментов кода, перенесённых из Code Cloud.

JLogger_2

Обновлённая версия системы журналов Qt, обеспечивающая вывод журналов в файлы, сеть и базу данных.

LocalString

Поиск содержимого всех файлов в каталоге.

shadow

Добавление теней к элементам управления.

codeStatistics

Статистика кода. Внимание! В данном запросе текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — китайский.

В запросе содержатся фрагменты кода, которые невозможно перевести без дополнительной информации.

Перевод текста на русский язык:

«Использование компилятора MSVC2017_32bit, тестирование с использованием компилятора mingw невозможно»

  1. Использование MATLAB для компиляции библиотеки, также необходимо использовать 32-битный компилятор MATLAB, в данном случае используется версия MATLAB2010a.
  2. Использование Qt для вызова библиотеки MATLAB и вызова соответствующих функций.

EChartDemo 2020-03-04

В этом случае компиляция выполняется с помощью Qt MSVC2017_32bit.

  1. Внедрение библиотеки ECharts и создание столбчатой диаграммы на основе ECharts.
  2. Использование библиотеки QWebChannel для обеспечения связи между Qt и JavaScript.

![Qt_html_js.png](https://i.loli.net/2020/03/25/TtajhQEwFUOeBzW.png «Echats»)

WebFirFilter 2020-03-05

Фильтрация сигнала, а затем использование ECharts для отображения сигнала.

  1. Чтение данных сигнала в определённом формате файла.
  2. Получение спектрограммы сигнала с помощью быстрого преобразования Фурье.
  3. Реализация фильтра FIR с использованием оконной функции.
  4. Фильтрация входного сигнала для получения выходного сигнала.
  5. Выполнение быстрого преобразования Фурье над выходным сигналом для получения спектрограммы.
  6. Отображение сигнала с использованием ECharts.

![filter_echarts.png](https://i.loli.net/2020/03/25/XK9MPnglQ6Su412.png «filter_echarts»)

![filter_echarts_bandpass.png](https://i.loli.net/2020/03/25/23uDS8albf7AXVP.png «filter_echarts_bandpass»)

JTabWidgetDemo 2020-03-13

Основные операции и настройка стиля QTabWidget.

  1. Управление методом QTabWidget, переключение вкладок и управление направлением вкладок.
  2. Настройка стиля вкладок.

JMainFrame 2020-03-23

Создание структуры программы с помощью Qt.

  1. Реализация настройки логотипа.
  2. Реализация двойного щелчка по меню для увеличения или уменьшения масштаба.
  3. Реализация перетаскивания меню.
  4. Реализация функций минимизации, максимизации и закрытия.
  5. Реализация функции изменения значка при наведении курсора с помощью QSS.
  6. Реализация перемещения заголовка окна в верхнюю часть окна при максимизации.

![title.png](https://i.loli.net/2020/03/25/vp5uQFcJsU3VM9K.png «title bar»)

DxfGraphics 2020-04-03

Отображение линий с помощью GraphicsView.

  1. Отображение сегментов линии с помощью QGraphicsView, QGraphicsScene и QGraphicsItem.
  2. Реализация масштабирования с помощью колеса прокрутки.
  3. Обеспечение плавного масштабирования при добавлении 2w сегментов линий в Scene.

![DxfGraphics_line.gif](DxfGraphics/DxfGraphics_line.gif «DxfGraphics line»)

TabScorllArea 2020-04-09

  1. Имитация интерфейса настроек прокрутки веб-сайта NetEase Cloud Music.
  2. Настройка области прокрутки с помощью QSS.
  3. Быстрое позиционирование с помощью кнопок.

![scroll_setting.gif](https://i.loli.net/2020/04/09/Fq6HxEnSIbto5W7.gif «scroll setting»)

DateEditQSS 2020-04-15

Изменение внешнего вида QDateEdit и QCalendarWidget с помощью QSS.

  1. Повторное оформление QDateEdit с помощью QSS и отображение всплывающего окна QCalendarWidget.
  2. Установка градиентного цвета для заголовков QCalendarWidget и использование значков для управления предыдущим и следующим месяцами.
  3. Настройка значков для выбора года в QCalendarWidget и изменение стиля.

![date_calendar.gif](https://i.loli.net/2020/04/15/6CdRyQM7fzKFsb4.gif «QDateEdit»)

FormatData 2020-04-24

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

  1. Удаление лишних данных с помощью регулярных выражений.
  2. Удаление лишних данных с помощью функции replace в QString.

![format_data.gif](https://i.loli.net/2020/04/24/v1E9e37yHdzVghs.gif «format_data»)

JLogger 2020-06-03

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

Примечание: этот модуль основан на «Летающем голубом облаке».

  1. Перенаправление информации QDebug, qWarning и qInfo.
  2. При записи журнала в файл, разделение по слоям на основе времени, а также классификация журналов отладки, предупреждений и вывода.
  3. Информация включает имя файла, имя функции, номер строки, дату и время, что упрощает анализ информации.
  4. Отправка информации журнала в файл или через сеть.

dmDatabaseDemo 2020-09-13

Этот модуль используется для тестирования подключения к базе данных Dameng.

Примечание 1: подключение осуществляется через ODBC, поэтому сначала необходимо настроить ODBC. Примечание 2: при использовании необходимо учитывать версию компиляции, например, если база данных Dameng установлена как 64-разрядная, то необходимо выбрать MinGW 64-bit для компиляции, иначе соединение с базой данных будет невозможно.

  1. Реализовать функцию подключения к базе данных Dameng в функции слота кнопки.
  2. После успешного тестирования прочитать данные из таблицы.

![use_dmdatabase.png](https://i.loli.net/2020/09/13/UC89stbuZmSqp4y.png «use_dmdatabase»)

JLogger_2

Обновлённая версия системы журналов, обеспечивающая вывод журналов в файлы, сети и базы данных.

  1. Вывод журналов в файл, возможность настройки каталога вывода и именования файлов по дате.
  2. Вывод журналов через сеть, программа использует протокол UDP для широковещательной передачи журналов, порт можно настроить.
  3. Вывод журналов в базу данных MySQL, информацию о базе данных можно настроить.

Определение полей таблицы базы данных:

create table log(
    logTime datetime primary key not null,
    type varchar(16) not null,
    file varchar(128) not null,
    function varchar(128) not null,
    line int not null,
    message varchar(256) not null);

LocalString

  1. Поиск содержимого всех файлов в каталоге (включая подкаталоги).
  2. Возможность фильтрации файлов.
  3. Можно определить местоположение файла и номер строки.
  4. Можно напрямую открыть каталог, где находится ресурс.

![search.png](LocalString/search.png «поиск строки в файле»)

shadow

  1. Добавить тень к текстовому полю при инициализации.
  2. Убрать тень при нажатии кнопки.

![shodow.png](shadow/shadow.png «добавить тень для элементов управления»)

codeStatistics

Функция статистики кода.

  1. Добавление файлов.
  2. Добавление типов фильтров для фильтрации файлов.
  3. Фильтрация файлов в подкаталогах.
  4. Открытие местоположения файла.
  5. Удаление файлов.
  6. Удаление всех файлов указанного типа.
  7. Запуск статистического расчёта информации о файлах.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления (2)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ALONE_WORK-QtCeShiXiangMu.git
git@api.gitlife.ru:oschina-mirror/ALONE_WORK-QtCeShiXiangMu.git
oschina-mirror
ALONE_WORK-QtCeShiXiangMu
ALONE_WORK-QtCeShiXiangMu
master