From edad2626628311ccdaad3c644e14406121465d9d Mon Sep 17 00:00:00 2001 From: Fyodor Date: Wed, 6 Mar 2019 21:09:27 +0800 Subject: [PATCH] Add files via upload --- CinTesting.pro | 47 ++++++ CinTesting.pro.user | 328 ++++++++++++++++++++++++++++++++++++ CinTesting.pro.user.8fb1639 | 328 ++++++++++++++++++++++++++++++++++++ about.cpp | 19 +++ about.h | 25 +++ about.ui | 68 ++++++++ icon.jpg | Bin 0 -> 11106 bytes main.cpp | 11 ++ mainwindow.cpp | 121 +++++++++++++ mainwindow.h | 47 ++++++ mainwindow.ui | 186 ++++++++++++++++++++ resource.qrc | 5 + 12 files changed, 1185 insertions(+) create mode 100644 CinTesting.pro create mode 100644 CinTesting.pro.user create mode 100644 CinTesting.pro.user.8fb1639 create mode 100644 about.cpp create mode 100644 about.h create mode 100644 about.ui create mode 100644 icon.jpg create mode 100644 main.cpp create mode 100644 mainwindow.cpp create mode 100644 mainwindow.h create mode 100644 mainwindow.ui create mode 100644 resource.qrc diff --git a/CinTesting.pro b/CinTesting.pro new file mode 100644 index 0000000..158071c --- /dev/null +++ b/CinTesting.pro @@ -0,0 +1,47 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2019-02-13T12:51:17 +# +#------------------------------------------------- + +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +TARGET = CinTesting +TEMPLATE = app vcapp + +# The following define makes your compiler emit warnings if you use +# any feature of Qt which has been marked as deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if you use deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +CONFIG += c++11 + +SOURCES += \ + main.cpp \ + mainwindow.cpp \ + about.cpp + +HEADERS += \ + mainwindow.h \ + about.h + +FORMS += \ + mainwindow.ui \ + about.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target + +RESOURCES += \ + resource.qrc +VERSION = 1.0.2 diff --git a/CinTesting.pro.user b/CinTesting.pro.user new file mode 100644 index 0000000..cb7149c --- /dev/null +++ b/CinTesting.pro.user @@ -0,0 +1,328 @@ + + + + + + EnvironmentId + {7c6a7a77-6541-42ff-88d0-f643cf35d83b} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.0 MinGW 64-bit + Desktop Qt 5.12.0 MinGW 64-bit + qt.qt5.5120.win64_mingw73_kit + 1 + 0 + 0 + + D:/QtProjects/build-CinTesting-Desktop_Qt_5_12_0_MinGW_64_bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Сборка + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Сборка + + ProjectExplorer.BuildSteps.Build + + + + true + Сборка + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Очистка + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Отладка + Отладка + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + D:/QtProjects/build-CinTesting-Desktop_Qt_5_12_0_MinGW_64_bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Сборка + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Сборка + + ProjectExplorer.BuildSteps.Build + + + + true + Сборка + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Очистка + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Выпуск + Выпуск + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + D:/QtProjects/build-CinTesting-Desktop_Qt_5_12_0_MinGW_64_bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Сборка + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Сборка + + ProjectExplorer.BuildSteps.Build + + + + true + Сборка + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Очистка + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Профилирование + Профилирование + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Установка + + ProjectExplorer.BuildSteps.Deploy + + 1 + Конфигурация установки + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + CinTesting + + Qt4ProjectManager.Qt4RunConfiguration:D:/QtProjects/CinTesting/CinTesting.pro + CinTesting.pro + + 3768 + false + true + true + false + false + true + + D:/QtProjects/build-CinTesting-Desktop_Qt_5_12_0_MinGW_64_bit-Release + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 20 + + + Version + 20 + + diff --git a/CinTesting.pro.user.8fb1639 b/CinTesting.pro.user.8fb1639 new file mode 100644 index 0000000..e0dc698 --- /dev/null +++ b/CinTesting.pro.user.8fb1639 @@ -0,0 +1,328 @@ + + + + + + EnvironmentId + {8fb1639f-7b10-4545-ab14-71c652bfcb18} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.12.0 MinGW 64-bit + Desktop Qt 5.12.0 MinGW 64-bit + qt.qt5.5120.win64_mingw73_kit + 0 + 0 + 0 + + D:/QtProjects/build-CinTesting-Desktop_Qt_5_12_0_MinGW_64_bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Сборка + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Сборка + + ProjectExplorer.BuildSteps.Build + + + + true + Сборка + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Очистка + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Отладка + Отладка + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + D:/QtProjects/build-CinTesting-Desktop_Qt_5_12_0_MinGW_64_bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Сборка + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Сборка + + ProjectExplorer.BuildSteps.Build + + + + true + Сборка + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Очистка + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Выпуск + Выпуск + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + D:/QtProjects/build-CinTesting-Desktop_Qt_5_12_0_MinGW_64_bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Сборка + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Сборка + + ProjectExplorer.BuildSteps.Build + + + + true + Сборка + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Очистка + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Профилирование + Профилирование + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Установка + + ProjectExplorer.BuildSteps.Deploy + + 1 + Конфигурация установки + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + CinTesting + + Qt4ProjectManager.Qt4RunConfiguration:D:/QtProjects/CinTesting/CinTesting.pro + CinTesting.pro + + 3768 + false + true + true + false + false + true + + D:/QtProjects/build-CinTesting-Desktop_Qt_5_12_0_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 20 + + + Version + 20 + + diff --git a/about.cpp b/about.cpp new file mode 100644 index 0000000..ce166cc --- /dev/null +++ b/about.cpp @@ -0,0 +1,19 @@ +#include "about.h" +#include "ui_about.h" + +About::About(QWidget *parent) : + QDialog(parent), + ui(new Ui::About) +{ + ui->setupUi(this); +} + +About::~About() +{ + delete ui; +} + +void About::on_pushButton_clicked() +{ + close(); +} diff --git a/about.h b/about.h new file mode 100644 index 0000000..7391427 --- /dev/null +++ b/about.h @@ -0,0 +1,25 @@ +#ifndef ABOUT_H +#define ABOUT_H + +#include + +namespace Ui { +class About; +} + +class About : public QDialog +{ + Q_OBJECT + +public: + explicit About(QWidget *parent = nullptr); + ~About(); + +private slots: + void on_pushButton_clicked(); + +private: + Ui::About *ui; +}; + +#endif // ABOUT_H diff --git a/about.ui b/about.ui new file mode 100644 index 0000000..3721446 --- /dev/null +++ b/about.ui @@ -0,0 +1,68 @@ + + + About + + + Qt::ApplicationModal + + + + 0 + 0 + 659 + 425 + + + + О программе + + + true + + + + + 40 + 10 + 581 + 351 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Авторы</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Малков Федор Сергеевич. Аспирант ИДСТУ СО РАН, г. Иркутск. +7-924-833-38-34; malkov@icc.ru</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">При поддержке ФГБНУ &quot;Научный центр проблем здоровья семьи и репродукции человека&quot;, г. Иркутск </span></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">ИНСТРУКЦИЯ</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Скачать три архива с сайта </span><a href="https://www.kaggle.com/c/intel-mobileodt-cervical-cancer-screening/data"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">kaggle.com (https://www.kaggle.com/c/intel-mobileodt-cervical-cancer-screening/data)</span></a></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Скачиваем архивы </span><span style=" font-family:'Atlas Grotesk,sans-serif'; font-size:8pt; color:rgba(0,0,0,0.694118); background-color:rgba(225,240,246,0.294118);">additional_Type_1_v2.7z, additional_Type_2_v2.7z и additional_Type_3_v2.7z (в сумме 25.7 ГБ)</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Atlas Grotesk,sans-serif'; font-size:8pt; color:rgba(0,0,0,0.694118); background-color:rgba(225,240,246,0.294118);">Распаковываем их в папки на компьютере.</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Atlas Grotesk,sans-serif'; font-size:8pt; color:rgba(0,0,0,0.694118); background-color:rgba(225,240,246,0.294118);">Переходим в папку с этой программой. </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Atlas Grotesk,sans-serif'; font-size:8pt; color:rgba(0,0,0,0.694118); background-color:rgba(225,240,246,0.294118);">Из папок Type_1, Type_2 и Type_3 копируем или перемещаем изображения в папки cin/1; cin/2 и cin/3</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Atlas Grotesk,sans-serif'; font-size:8pt; color:rgba(0,0,0,0.694118); background-color:rgba(225,240,246,0.294118);">Перезапускаем программу</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Atlas Grotesk,sans-serif'; font-size:8pt; color:rgba(0,0,0,0.694118); background-color:rgba(225,240,246,0.294118);">По умолчанию, вместе с программой поставляется по два изображения для CIN1..CIN3</span></p> +<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Atlas Grotesk,sans-serif'; font-size:10pt; font-weight:600; color:rgba(0,0,0,0.694118); background-color:rgba(225,240,246,0.294118);">ВЕРСИЯ</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Atlas Grotesk,sans-serif'; font-size:8pt; color:rgba(0,0,0,0.694118); background-color:rgba(225,240,246,0.294118);">Версия программы 1.0.2. <br />6 марта 2019 года</span></p> +<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Atlas Grotesk,sans-serif'; font-size:8pt; color:rgba(0,0,0,0.694118);"><br /></p></body></html> + + + + + + 240 + 370 + 93 + 28 + + + + OK + + + + + + diff --git a/icon.jpg b/icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db148405b9cb6f31299ce78bfe32cdd3fc686a5d GIT binary patch literal 11106 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 N6I1`2kjVSS{{Ur`GCcqQ literal 0 HcmV?d00001 diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..aab39bb --- /dev/null +++ b/main.cpp @@ -0,0 +1,11 @@ +#include "mainwindow.h" +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + + return a.exec(); +} diff --git a/mainwindow.cpp b/mainwindow.cpp new file mode 100644 index 0000000..011c5a0 --- /dev/null +++ b/mainwindow.cpp @@ -0,0 +1,121 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include "about.h" +#include "ui_about.h" +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); + ui->pushButton->setEnabled(false); + ui->pushButton_2->setEnabled(false); + +} + +void MainWindow::traverse(const QString &pattern, const QString &dirname, int level) +{ + QDir dir(dirname); + dir.setFilter(QDir::Dirs | QDir::Files | QDir::NoSymLinks | QDir::NoDot | QDir::NoDotDot); + + static const QStringList stringList = pattern.split('/'); + foreach (QFileInfo fileInfo, dir.entryInfoList(stringList.mid(level, 1))) { + if (fileInfo.isDir() && fileInfo.isReadable()) + traverse(pattern, fileInfo.filePath(), level+1); + else if (stringList.size() == (level + 1)) { +// pth + pth.push_back(fileInfo.filePath()); + + +// qDebug() << fileInfo.filePath(); + } + } + +} + +MainWindow::~MainWindow() +{ + + delete ui; +} + +void MainWindow::on_pushButton_clicked() +{ + + ui->lbl_descr->clear(); + //qsrand(qrand()); + srand (time(NULL)); + MyRand = rand() % ((pth.size() - 1)); + //qDebug() << pth.at(MyRand) << " - " << MyRand; + QImage *img; + img = new QImage(); + img->load(pth.at(MyRand)); + ui->ImgLabel->setPixmap(QPixmap::fromImage(img->scaled( + ui->ImgLabel->geometry().width(), + ui->ImgLabel->geometry().height(), Qt::IgnoreAspectRatio))); + delete img; + ui->pushButton_2->setEnabled(true); + + + + +} + +unsigned int MainWindow::getNumberFPath(unsigned int V) +{ + QString str = pth.at(V); + return str.split('/').at(1).toInt(); +} + +void MainWindow::on_pushButton_2_clicked() +{ + unsigned int var = getNumberFPath(MyRand); + unsigned int rb; + if (ui->radioButton->isChecked()) { + rb = 1; + } else if (ui->radioButton_2->isChecked()) { + rb =2; + } else { + rb = 3; + } + + if (rb == var) { + cinTrue+=1; + ui->lbl_true->setText("Правильных ответов - " + QString::number(cinTrue)); + } else { + cinFalse +=1; + ui->lbl_false->setText("Неправильных ответов - " + QString::number(cinFalse)); + } + ui->lbl_descr->setText("<<<----- это CIN"+QString::number(var)); + ui->pushButton_2->setEnabled(false); + +} + +void MainWindow::on_pushButton_3_clicked() +{ + pth.clear(); + traverse("*/*", "cin", 0); + ui->pushButton->setEnabled(true); + ui->pushButton->click(); + ui->pushButton_3->setEnabled(false); + ui->pushButton_2->setEnabled(true); + cinTrue = 0; + cinFalse = 0; + cnt=0; + +} + +void MainWindow::on_pushButton_4_clicked() +{ + About* ab = new About(); + ab->show(); +} diff --git a/mainwindow.h b/mainwindow.h new file mode 100644 index 0000000..2d5f925 --- /dev/null +++ b/mainwindow.h @@ -0,0 +1,47 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include +#include + +#include +using namespace std; + +namespace Ui { +class MainWindow; +} + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + + + +private slots: + void on_pushButton_clicked(); + + void on_pushButton_2_clicked(); + + void on_pushButton_3_clicked(); + + void on_pushButton_4_clicked(); + +private: + Ui::MainWindow *ui; + vector pth; + QImage *myimg; + unsigned int MyRand; + unsigned int cinTrue; + unsigned int cinFalse; + unsigned int cnt; + unsigned int getNumberFPath(unsigned int V); + void traverse(const QString &pattern, const QString &dirname, int level); + +}; + +#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui new file mode 100644 index 0000000..e5a7912 --- /dev/null +++ b/mainwindow.ui @@ -0,0 +1,186 @@ + + + MainWindow + + + + 0 + 0 + 574 + 620 + + + + Обучение и тестирование РШМ + + + + + + 10 + 10 + 351 + 511 + + + + + + + + + + 390 + 10 + 165 + 451 + + + + + + + + + Начать тестирование + + + + + + + + + + + Следующая картинка + + + + + + + Выберите CIN + + + + + 10 + 20 + 65 + 76 + + + + + + + CIN I + + + buttonGroup + + + + + + + CIN II + + + true + + + buttonGroup + + + + + + + CIN III + + + buttonGroup + + + + + + + + + + + Проверить ответ + + + + + + + + + + + + + + + + + + Правильных ответов - 0 + + + + + + + Неправильных ответов - 0 + + + + + + + + + + + + + О программе + + + + + + + + + + 0 + 0 + 574 + 26 + + + + + + TopToolBarArea + + + false + + + + + + + + + + + diff --git a/resource.qrc b/resource.qrc new file mode 100644 index 0000000..aed594e --- /dev/null +++ b/resource.qrc @@ -0,0 +1,5 @@ + + + icon.jpg + +