From aafa5a0ebbb772b6aa55699d8a50587a8fe6c8e0 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Sat, 3 Feb 2024 17:57:49 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=20"=D0=98=D1=81?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5"=20(#108)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #70 --- docs/grip.css | 17 -- environment.yml | 156 ++++++++++++++++++ statapp.spec | 6 +- statapp/__main__.py | 3 +- {docs => statapp/docs}/README.html | 19 +++ {docs => statapp/docs}/README.md | 19 +++ {docs => statapp/docs}/README.pdf | Bin .../Анализ данных - Дисперсионный анализ.PNG | Bin .../Анализ данных - Корреляционный анализ.PNG | Bin ...нерация показателей - Генерация отклика.PNG | Bin ...нерация показателей - Генерация фактора.PNG | Bin .../Моделирование - Линейный полином.PNG | Bin .../docs}/files/Окно - Генерация отклика.PNG | Bin .../docs}/files/Окно - Генерация фактора.PNG | Bin .../files/Окно - Дисперсионный анализ.PNG | Bin .../files/Окно - Корреляционный анализ.PNG | Bin .../Окно - Полином (Линейный полином).PNG | Bin .../files/Окно - Полином (Преобразования).PNG | Bin .../docs}/files/Окно - Полином - График.PNG | Bin .../docs}/files/Окно - Полином - Прогноз.PNG | Bin .../Преобразования - Выбор преобразования.PNG | Bin .../docs}/files/Файл - Открыть.PNG | Bin .../docs}/files/Файл - Сохранить.PNG | Bin statapp/docs/grip.css | 36 ++++ statapp/main_window.py | 7 + statapp/ui/main_window.ui | 8 +- statapp/ui/ui_main_window.py | 6 +- statapp/ui/ui_usage_window.py | 56 +++++++ statapp/ui/usage_window.ui | 24 +++ statapp/usage_window.py | 40 +++++ 30 files changed, 375 insertions(+), 22 deletions(-) delete mode 100644 docs/grip.css create mode 100644 environment.yml rename {docs => statapp/docs}/README.html (99%) rename {docs => statapp/docs}/README.md (93%) rename {docs => statapp/docs}/README.pdf (100%) rename {docs => statapp/docs}/files/Анализ данных - Дисперсионный анализ.PNG (100%) rename {docs => statapp/docs}/files/Анализ данных - Корреляционный анализ.PNG (100%) rename {docs => statapp/docs}/files/Генерация показателей - Генерация отклика.PNG (100%) rename {docs => statapp/docs}/files/Генерация показателей - Генерация фактора.PNG (100%) rename {docs => statapp/docs}/files/Моделирование - Линейный полином.PNG (100%) rename {docs => statapp/docs}/files/Окно - Генерация отклика.PNG (100%) rename {docs => statapp/docs}/files/Окно - Генерация фактора.PNG (100%) rename {docs => statapp/docs}/files/Окно - Дисперсионный анализ.PNG (100%) rename {docs => statapp/docs}/files/Окно - Корреляционный анализ.PNG (100%) rename {docs => statapp/docs}/files/Окно - Полином (Линейный полином).PNG (100%) rename {docs => statapp/docs}/files/Окно - Полином (Преобразования).PNG (100%) rename {docs => statapp/docs}/files/Окно - Полином - График.PNG (100%) rename {docs => statapp/docs}/files/Окно - Полином - Прогноз.PNG (100%) rename {docs => statapp/docs}/files/Преобразования - Выбор преобразования.PNG (100%) rename {docs => statapp/docs}/files/Файл - Открыть.PNG (100%) rename {docs => statapp/docs}/files/Файл - Сохранить.PNG (100%) create mode 100644 statapp/docs/grip.css create mode 100644 statapp/ui/ui_usage_window.py create mode 100644 statapp/ui/usage_window.ui create mode 100644 statapp/usage_window.py diff --git a/docs/grip.css b/docs/grip.css deleted file mode 100644 index 37c03f2..0000000 --- a/docs/grip.css +++ /dev/null @@ -1,17 +0,0 @@ -#preview-page { - margin-top: 0px; - margin-bottom: 0px; -} - -#readme { - border: none; -} - -#readme > .Box-header { - border: none; - display: none !important; -} - -#readme > .Box-body { - border: none; -} diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000..176cbb8 --- /dev/null +++ b/environment.yml @@ -0,0 +1,156 @@ +name: statapp +channels: + - conda-forge + - defaults +dependencies: + - _libgcc_mutex=0.1=conda_forge + - _openmp_mutex=4.5=2_gnu + - alsa-lib=1.2.10=hd590300_0 + - attr=2.5.1=h166bdaf_1 + - bzip2=1.0.8=hd590300_5 + - ca-certificates=2024.2.2=hbcca054_0 + - cairo=1.16.0=h6cf1ce9_1008 + - dbus=1.13.6=h48d8840_2 + - expat=2.5.0=hcb278e6_1 + - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 + - font-ttf-inconsolata=3.000=h77eed37_0 + - font-ttf-source-code-pro=2.038=h77eed37_0 + - font-ttf-ubuntu=0.83=h77eed37_1 + - fontconfig=2.14.2=h14ed4e7_0 + - fonts-conda-ecosystem=1=0 + - fonts-conda-forge=1=0 + - freetype=2.12.1=h267a509_2 + - gettext=0.21.1=h27087fc_0 + - glib=2.68.4=h9c3ff4c_0 + - glib-tools=2.68.4=h9c3ff4c_0 + - graphite2=1.3.13=h58526e2_1001 + - gst-plugins-base=1.18.4=h29181c9_0 + - gstreamer=1.18.5=h76c114f_0 + - harfbuzz=3.0.0=h83ec7ef_1 + - icu=68.2=h9c3ff4c_0 + - jpeg=9e=h166bdaf_2 + - keyutils=1.6.1=h166bdaf_0 + - krb5=1.19.3=h3790be6_0 + - lame=3.100=h166bdaf_1003 + - ld_impl_linux-64=2.38=h1181459_1 + - libcap=2.69=h0f662aa_0 + - libclang=11.1.0=default_ha53f305_1 + - libclang13=14.0.6=default_h9986a30_1 + - libcups=2.3.3=h3e49a29_2 + - libedit=3.1.20191231=he28a2e2_2 + - libevent=2.1.10=h9b69904_4 + - libexpat=2.5.0=hcb278e6_1 + - libffi=3.3=h58526e2_2 + - libflac=1.4.3=h59595ed_0 + - libgcc-ng=13.2.0=h807b86a_5 + - libgcrypt=1.10.3=hd590300_0 + - libglib=2.68.4=h3e27bee_0 + - libgomp=13.2.0=h807b86a_5 + - libgpg-error=1.47=h71f35ed_0 + - libiconv=1.17=hd590300_2 + - libjpeg-turbo=2.1.4=h166bdaf_0 + - libllvm11=11.1.0=he0ac6c6_5 + - libllvm14=14.0.6=hcd5def8_4 + - libogg=1.3.4=h7f98852_1 + - libopus=1.3.1=h7f98852_1 + - libpng=1.6.42=h2797004_0 + - libpq=13.8=hd77ab85_0 + - libsndfile=1.2.2=hc60ed4a_1 + - libsqlite=3.44.2=h2797004_0 + - libstdcxx-ng=13.2.0=h7e041cc_5 + - libsystemd0=255=h3516f8a_0 + - libuuid=2.38.1=h0b41bf4_0 + - libvorbis=1.3.7=h9c3ff4c_0 + - libxcb=1.15=h0b41bf4_0 + - libxkbcommon=1.0.3=he3ba5ed_0 + - libxml2=2.9.12=h72842e0_0 + - libxslt=1.1.33=h15afd5d_2 + - libzlib=1.2.13=hd590300_5 + - lz4-c=1.9.4=hcb278e6_0 + - mpg123=1.32.4=h59595ed_0 + - mysql-common=8.0.32=h14678bc_0 + - mysql-libs=8.0.32=h54cf53e_0 + - ncurses=6.4=h6a678d5_0 + - nspr=4.35=h27087fc_0 + - nss=3.97=h1d7d5a4_0 + - openssl=1.1.1w=hd590300_0 + - pcre=8.45=h9c3ff4c_0 + - pcre2=10.42=hcad00b1_0 + - pip=23.3.1=py38h06a4308_0 + - pixman=0.43.2=h59595ed_0 + - pthread-stubs=0.4=h36c2ea0_1001 + - pyside2=5.13.2=py38h2009f50_7 + - python=3.8.10=h49503c6_1_cpython + - python_abi=3.8=2_cp38 + - qt=5.12.9=hda022c4_4 + - readline=8.2=h5eee18b_0 + - setuptools=68.2.2=py38h06a4308_0 + - sqlite=3.41.2=h5eee18b_0 + - tk=8.6.12=h1ccaba5_0 + - wheel=0.41.2=py38h06a4308_0 + - xcb-util=0.4.0=hd590300_1 + - xcb-util-image=0.4.0=h8ee46fc_1 + - xcb-util-keysyms=0.4.0=h8ee46fc_1 + - xcb-util-renderutil=0.3.9=hd590300_1 + - xcb-util-wm=0.4.1=h8ee46fc_1 + - xkeyboard-config=2.40=hd590300_0 + - xorg-kbproto=1.0.7=h7f98852_1002 + - xorg-libice=1.1.1=hd590300_0 + - xorg-libsm=1.2.4=h7391055_0 + - xorg-libx11=1.8.7=h8ee46fc_0 + - xorg-libxau=1.0.11=hd590300_0 + - xorg-libxdmcp=1.1.3=h7f98852_0 + - xorg-libxext=1.3.4=h0b41bf4_2 + - xorg-libxrender=0.9.11=hd590300_0 + - xorg-renderproto=0.11.1=h7f98852_1002 + - xorg-xextproto=7.3.0=h0b41bf4_1003 + - xorg-xf86vidmodeproto=2.3.1=h7f98852_1002 + - xorg-xproto=7.0.31=h7f98852_1007 + - xz=5.4.5=h5eee18b_0 + - zlib=1.2.13=hd590300_5 + - zstd=1.5.5=hfc55251_0 + - pip: + - altgraph==0.17.4 + - astroid==2.15.8 + - cfgv==3.4.0 + - contourpy==1.1.1 + - cycler==0.12.1 + - dill==0.3.7 + - distlib==0.3.7 + - filelock==3.12.4 + - fonttools==4.43.1 + - identify==2.5.30 + - importlib-metadata==6.8.0 + - importlib-resources==6.1.0 + - isort==5.12.0 + - kiwisolver==1.4.5 + - lazy-object-proxy==1.9.0 + - matplotlib==3.7.3 + - mccabe==0.7.0 + - mpmath==1.3.0 + - nodeenv==1.8.0 + - numpy==1.24.4 + - packaging==23.2 + - pandas==2.0.3 + - pillow==9.5.0 + - platformdirs==3.11.0 + - pre-commit==3.5.0 + - pyinstaller==6.1.0 + - pyinstaller-hooks-contrib==2023.10 + - pylint==2.17.7 + - pyparsing==3.1.1 + - python-dateutil==2.8.2 + - pytz==2023.3.post1 + - pyyaml==6.0.1 + - setuptools-scm==8.0.4 + - six==1.16.0 + - statapp==0.10.2 + - sympy==1.12 + - tomli==2.0.1 + - tomlkit==0.12.1 + - typing-extensions==4.8.0 + - tzdata==2023.3 + - virtualenv==20.24.5 + - wrapt==1.15.0 + - zipp==3.17.0 +prefix: /home/maxim/miniconda3/envs/statapp diff --git a/statapp.spec b/statapp.spec index 6142471..5b0d6d0 100644 --- a/statapp.spec +++ b/statapp.spec @@ -17,7 +17,11 @@ parser = argparse.ArgumentParser() parser.add_argument("--one-file", action="store_true") options = parser.parse_args() -datas = [('statapp/ui/images/*', 'ui/images')] +datas = [ + ('statapp/ui/images/*', 'ui/images'), + ('statapp/docs/files/*', 'docs/files'), + ('statapp/docs/README.html', 'docs') +] datas += copy_metadata('statapp') diff --git a/statapp/__main__.py b/statapp/__main__.py index 8d2a007..12d584a 100644 --- a/statapp/__main__.py +++ b/statapp/__main__.py @@ -26,15 +26,14 @@ from statapp.main_window import MainWindow def main(): + QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts) app = QApplication(sys.argv) - translator = QtCore.QTranslator(app) locale = QtCore.QLocale.system().name() path = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath) translator.load(f'qt_{locale}', path) translator.load(f'qtbase_{locale}', path) app.installTranslator(translator) - window = MainWindow() window.show() return app.exec_() diff --git a/docs/README.html b/statapp/docs/README.html similarity index 99% rename from docs/README.html rename to statapp/docs/README.html index 8893d6b..f240d03 100644 --- a/docs/README.html +++ b/statapp/docs/README.html @@ -1,4 +1,23 @@ + diff --git a/docs/README.md b/statapp/docs/README.md similarity index 93% rename from docs/README.md rename to statapp/docs/README.md index 758803e..9f2cca1 100644 --- a/docs/README.md +++ b/statapp/docs/README.md @@ -1,3 +1,22 @@ + # Руководство пользователя для программы "Statapp" ## Условные обозначения diff --git a/docs/README.pdf b/statapp/docs/README.pdf similarity index 100% rename from docs/README.pdf rename to statapp/docs/README.pdf diff --git a/docs/files/Анализ данных - Дисперсионный анализ.PNG b/statapp/docs/files/Анализ данных - Дисперсионный анализ.PNG similarity index 100% rename from docs/files/Анализ данных - Дисперсионный анализ.PNG rename to statapp/docs/files/Анализ данных - Дисперсионный анализ.PNG diff --git a/docs/files/Анализ данных - Корреляционный анализ.PNG b/statapp/docs/files/Анализ данных - Корреляционный анализ.PNG similarity index 100% rename from docs/files/Анализ данных - Корреляционный анализ.PNG rename to statapp/docs/files/Анализ данных - Корреляционный анализ.PNG diff --git a/docs/files/Генерация показателей - Генерация отклика.PNG b/statapp/docs/files/Генерация показателей - Генерация отклика.PNG similarity index 100% rename from docs/files/Генерация показателей - Генерация отклика.PNG rename to statapp/docs/files/Генерация показателей - Генерация отклика.PNG diff --git a/docs/files/Генерация показателей - Генерация фактора.PNG b/statapp/docs/files/Генерация показателей - Генерация фактора.PNG similarity index 100% rename from docs/files/Генерация показателей - Генерация фактора.PNG rename to statapp/docs/files/Генерация показателей - Генерация фактора.PNG diff --git a/docs/files/Моделирование - Линейный полином.PNG b/statapp/docs/files/Моделирование - Линейный полином.PNG similarity index 100% rename from docs/files/Моделирование - Линейный полином.PNG rename to statapp/docs/files/Моделирование - Линейный полином.PNG diff --git a/docs/files/Окно - Генерация отклика.PNG b/statapp/docs/files/Окно - Генерация отклика.PNG similarity index 100% rename from docs/files/Окно - Генерация отклика.PNG rename to statapp/docs/files/Окно - Генерация отклика.PNG diff --git a/docs/files/Окно - Генерация фактора.PNG b/statapp/docs/files/Окно - Генерация фактора.PNG similarity index 100% rename from docs/files/Окно - Генерация фактора.PNG rename to statapp/docs/files/Окно - Генерация фактора.PNG diff --git a/docs/files/Окно - Дисперсионный анализ.PNG b/statapp/docs/files/Окно - Дисперсионный анализ.PNG similarity index 100% rename from docs/files/Окно - Дисперсионный анализ.PNG rename to statapp/docs/files/Окно - Дисперсионный анализ.PNG diff --git a/docs/files/Окно - Корреляционный анализ.PNG b/statapp/docs/files/Окно - Корреляционный анализ.PNG similarity index 100% rename from docs/files/Окно - Корреляционный анализ.PNG rename to statapp/docs/files/Окно - Корреляционный анализ.PNG diff --git a/docs/files/Окно - Полином (Линейный полином).PNG b/statapp/docs/files/Окно - Полином (Линейный полином).PNG similarity index 100% rename from docs/files/Окно - Полином (Линейный полином).PNG rename to statapp/docs/files/Окно - Полином (Линейный полином).PNG diff --git a/docs/files/Окно - Полином (Преобразования).PNG b/statapp/docs/files/Окно - Полином (Преобразования).PNG similarity index 100% rename from docs/files/Окно - Полином (Преобразования).PNG rename to statapp/docs/files/Окно - Полином (Преобразования).PNG diff --git a/docs/files/Окно - Полином - График.PNG b/statapp/docs/files/Окно - Полином - График.PNG similarity index 100% rename from docs/files/Окно - Полином - График.PNG rename to statapp/docs/files/Окно - Полином - График.PNG diff --git a/docs/files/Окно - Полином - Прогноз.PNG b/statapp/docs/files/Окно - Полином - Прогноз.PNG similarity index 100% rename from docs/files/Окно - Полином - Прогноз.PNG rename to statapp/docs/files/Окно - Полином - Прогноз.PNG diff --git a/docs/files/Преобразования - Выбор преобразования.PNG b/statapp/docs/files/Преобразования - Выбор преобразования.PNG similarity index 100% rename from docs/files/Преобразования - Выбор преобразования.PNG rename to statapp/docs/files/Преобразования - Выбор преобразования.PNG diff --git a/docs/files/Файл - Открыть.PNG b/statapp/docs/files/Файл - Открыть.PNG similarity index 100% rename from docs/files/Файл - Открыть.PNG rename to statapp/docs/files/Файл - Открыть.PNG diff --git a/docs/files/Файл - Сохранить.PNG b/statapp/docs/files/Файл - Сохранить.PNG similarity index 100% rename from docs/files/Файл - Сохранить.PNG rename to statapp/docs/files/Файл - Сохранить.PNG diff --git a/statapp/docs/grip.css b/statapp/docs/grip.css new file mode 100644 index 0000000..42083f5 --- /dev/null +++ b/statapp/docs/grip.css @@ -0,0 +1,36 @@ +/* +Copyright (c) 2024 Maxim Slipenko, Eugene Lazurenko. + +This file is part of Statapp +(see https://github.com/shizand/statapp). + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#preview-page { + margin-top: 0px; + margin-bottom: 0px; +} + +#readme { + border: none; +} + +#readme > .Box-header { + border: none; + display: none !important; +} + +#readme > .Box-body { + border: none; +} diff --git a/statapp/main_window.py b/statapp/main_window.py index a8ca582..594484b 100644 --- a/statapp/main_window.py +++ b/statapp/main_window.py @@ -33,6 +33,7 @@ from statapp.about_window import AboutWindow from statapp.models.fileslc_model import FileSLCModel from statapp.polynoms.squared_polynom_window import SquaredPolynomWindow from statapp.ui.ui_main_window import Ui_MainWindow +from statapp.usage_window import UsageWindow from statapp.utils import buildMessageBox, addIcon, FloatDelegate, onError from statapp.variance_analysis import VarianceAnalysisWindow from statapp.correlation_analysis import CorrelationAnalysisWindow @@ -61,6 +62,7 @@ class MainWindow(QMainWindow): ] self.aboutWindow = None + self.usageWindow = None self.isDataChanged = False self.model = InputValuesModel() @@ -210,6 +212,11 @@ class MainWindow(QMainWindow): self.aboutWindow = AboutWindow() self.aboutWindow.show() + @Slot() + def on_usageaction_triggered(self): + self.usageWindow = UsageWindow() + self.usageWindow.show() + @Slot() def on_varianceAnalysisAction_triggered(self): try: diff --git a/statapp/ui/main_window.ui b/statapp/ui/main_window.ui index e33b238..0aa4851 100644 --- a/statapp/ui/main_window.ui +++ b/statapp/ui/main_window.ui @@ -40,7 +40,7 @@ 0 0 800 - 21 + 22 @@ -77,6 +77,7 @@ Справка + @@ -141,6 +142,11 @@ Преобразования + + + Использование + + diff --git a/statapp/ui/ui_main_window.py b/statapp/ui/ui_main_window.py index 5a1eb3f..853a830 100644 --- a/statapp/ui/ui_main_window.py +++ b/statapp/ui/ui_main_window.py @@ -60,6 +60,8 @@ class Ui_MainWindow(object): self.squaredPolynomAction.setObjectName(u"squaredPolynomAction") self.transformPolynomAction = QAction(MainWindow) self.transformPolynomAction.setObjectName(u"transformPolynomAction") + self.usageaction = QAction(MainWindow) + self.usageaction.setObjectName(u"usageaction") self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName(u"centralwidget") self.gridLayout = QGridLayout(self.centralwidget) @@ -79,7 +81,7 @@ class Ui_MainWindow(object): MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setObjectName(u"menubar") - self.menubar.setGeometry(QRect(0, 0, 800, 21)) + self.menubar.setGeometry(QRect(0, 0, 800, 22)) self.filemenu = QMenu(self.menubar) self.filemenu.setObjectName(u"filemenu") self.generatemenu = QMenu(self.menubar) @@ -110,6 +112,7 @@ class Ui_MainWindow(object): self.modelmenu.addAction(self.linearPolynomAction) self.modelmenu.addAction(self.squaredPolynomAction) self.modelmenu.addAction(self.transformPolynomAction) + self.helpmenu.addAction(self.usageaction) self.helpmenu.addAction(self.aboutmenuaction) self.retranslateUi(MainWindow) @@ -130,6 +133,7 @@ class Ui_MainWindow(object): self.linearPolynomAction.setText(QCoreApplication.translate("MainWindow", u"\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u043e\u043b\u0438\u043d\u043e\u043c", None)) self.squaredPolynomAction.setText(QCoreApplication.translate("MainWindow", u"\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u0438\u043d\u043e\u043c", None)) self.transformPolynomAction.setText(QCoreApplication.translate("MainWindow", u"\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f", None)) + self.usageaction.setText(QCoreApplication.translate("MainWindow", u"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435", None)) self.label.setText(QCoreApplication.translate("MainWindow", u"\u0421\u0422\u0410\u0422\u0418\u0421\u0422\u0418\u0427\u0415\u0421\u041a\u0418\u0415 \u0414\u0410\u041d\u041d\u042b\u0415", None)) self.filemenu.setTitle(QCoreApplication.translate("MainWindow", u"\u0424\u0430\u0439\u043b", None)) self.generatemenu.setTitle(QCoreApplication.translate("MainWindow", u"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439", None)) diff --git a/statapp/ui/ui_usage_window.py b/statapp/ui/ui_usage_window.py new file mode 100644 index 0000000..7c8ed91 --- /dev/null +++ b/statapp/ui/ui_usage_window.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# +# Copyright (c) 2024 Maxim Slipenko, Eugene Lazurenko. +# +# This file is part of Statapp +# (see https://github.com/shizand/statapp). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + +################################################################################ +## Form generated from reading UI file 'usage_window.ui' +## +## Created by: Qt User Interface Compiler version 5.15.2 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide2.QtCore import * +from PySide2.QtGui import * +from PySide2.QtWidgets import * + + +class Ui_UsageWindow(object): + def setupUi(self, UsageWindow): + if not UsageWindow.objectName(): + UsageWindow.setObjectName(u"UsageWindow") + UsageWindow.resize(400, 300) + self.gridLayout = QGridLayout(UsageWindow) + self.gridLayout.setObjectName(u"gridLayout") + self.browserContainer = QVBoxLayout() + self.browserContainer.setObjectName(u"browserContainer") + + self.gridLayout.addLayout(self.browserContainer, 0, 0, 1, 1) + + + self.retranslateUi(UsageWindow) + + QMetaObject.connectSlotsByName(UsageWindow) + # setupUi + + def retranslateUi(self, UsageWindow): + UsageWindow.setWindowTitle(QCoreApplication.translate("UsageWindow", u"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435", None)) + # retranslateUi diff --git a/statapp/ui/usage_window.ui b/statapp/ui/usage_window.ui new file mode 100644 index 0000000..db79eb4 --- /dev/null +++ b/statapp/ui/usage_window.ui @@ -0,0 +1,24 @@ + + + UsageWindow + + + + 0 + 0 + 400 + 300 + + + + Использование + + + + + + + + + + diff --git a/statapp/usage_window.py b/statapp/usage_window.py new file mode 100644 index 0000000..f54845b --- /dev/null +++ b/statapp/usage_window.py @@ -0,0 +1,40 @@ +# +# Copyright (c) 2024 Maxim Slipenko, Eugene Lazurenko. +# +# This file is part of Statapp +# (see https://github.com/shizand/statapp). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +from PySide2.QtCore import QUrl +from PySide2.QtWebEngineWidgets import QWebEngineView +from PySide2.QtWidgets import QMainWindow, QVBoxLayout, QWidget + +from statapp.utils import addIcon, resourcePath + +class UsageWindow(QMainWindow): + def __init__(self): + super().__init__() + self.setWindowTitle("Использование") + addIcon(self) + + layout = QVBoxLayout() + + self.browser = QWebEngineView() + layout.addWidget(self.browser) + self.browser.load(QUrl.fromLocalFile(resourcePath("docs/README.html"))) + + widget = QWidget() + widget.setLayout(layout) + self.setCentralWidget(widget)