Python and PyQt the architecture of Apps. with GUI for experimental data analysis from start to end

Поділитися
Вставка
  • Опубліковано 23 січ 2025

КОМЕНТАРІ • 50

  • @alx2660
    @alx2660 4 роки тому +1

    Урок просто бомба. Как раз искал информацию по matplotlib и PyQt5. Путного ничего не мог найти. Всё как-то отрывочно и невнятно, а тут всё прямо по полочкам. Идеально. Большое спасибо. Полезнейший канал.

  • @nicko6815
    @nicko6815 4 роки тому +1

    Здравствуйте, Сергей! Ценное видео! С возвращением!

  • @PyScientist
    @PyScientist  4 роки тому +1

    Тайминг:
    0:58 Общий обзор видео.
    1:37 Этапы разработки ПО на Python да и не только на Python.
    5:06 Принципы SOLID.
    11:42 Постановка задачи разработки ПО и проработка основной идеи.
    14:11 Написание front-end с использованием QtDesigner.
    20:46 Конвертация файла ui в py для дальнейшего включения в программу.
    21:56 Инициализация основного окна приложения.
    26:24 Корректировка front-end с использованием PyCharm.
    36:27 Помещаем холст с рисунком (полем для отображения графика) matplotlib в QWidget.
    46:55 Настраиваем импорт данных из файла txt в таблицу QTableWidget для последующего их использования.
    54:48 Настройка отображения данных в QTableWidget.
    57:50 Отображение данных из таблицы QTableWidget на графике matplotlib (точнее на осях).
    1:02:15 Создание backend подбора коэффициента "m" в уравнение электропроводности.
    1:05:45 Наносим на график matplotib функцию иллюстрирующую одну из связей для вывода уравнения электропроводности.
    1:07:15 Проверка работы программы с реальными данными.
    Ссылка на оформленный исходный код прилагается:
    pyscientist.ucoz.net/load/arkhiv_proekta_pycharm_coreelectroanalysis_v1_0/1-1-0-10#
    Ссылки на предыдущие видео по теме:
    Ссылки на предыдущие видео по теме:
    Видео 1: Python настройка рабочего пространства, использование PyCharm
    ua-cam.com/video/lN5B0vkRhww/v-deo.html
    Видео 2: Python функции
    ua-cam.com/video/ubBH-LBHglY/v-deo.html
    Видео 3: Python классы
    ua-cam.com/video/vJp9Uo3MJMY/v-deo.html
    Видео 4: Графический интерфейс Qt для Python, или PyQt
    ua-cam.com/video/btc0bi8m134/v-deo.html
    Видео 5: Python компиляция программ, cx_Freeze и другие компиляторы
    ua-cam.com/video/Ekc7jcq13ic/v-deo.html
    Видео 6.1: Библиотека Matplotlib создание графиков для анализа данных
    ua-cam.com/video/8V3y6NCdo0k/v-deo.html
    Видео 6.2: Библиотека matplotlib и Qt встраивание графиков в графический интерфейс Qt
    ua-cam.com/video/SLwvwnqet6Y/v-deo.html
    Видео 7: Matplotlib модуль Animation класс FuncAnimation (автообновление графиков)
    ua-cam.com/video/YQm1VDPVvww/v-deo.html
    Видео 8: Библиотека Matplotlib, отображение графиков функции с использованием библиотеки numexpr (ввод функции из текстовой строки) ua-cam.com/video/SLwvwnqet6Y/v-deo.html
    Видео 9.1: Классы QListWidget и QListView сопоставительный анализ, простой пример применения QListWidget
    ua-cam.com/video/mrBd2gFhVhk/v-deo.html
    Видео 9.2: Класс QListView пример применения с использованием QtCore.QabstractListModel
    ua-cam.com/video/yAu155q9Vsg/v-deo.html
    Видео 10: Python и Excel взаимодействие с excel (библиотеки xlrd, xlwt, openpyxl, win32com)
    ua-cam.com/video/pI54u-_SrX0/v-deo.html
    Видео 11: обзор виджета QTableWidget и практическое использование
    ua-cam.com/video/hPWMxINW004/v-deo.html
    Видео №12.1 обзор виджета QStackedWidget использование QComboBox и QPushButton в качестве переключателей
    ua-cam.com/video/eN9igb0U-8g/v-deo.html
    Видео №12.2 Продолжение обзора виджета QStackedWidget использование QToolButton в качестве переключателей, настройка статического и динамического внешнего вида QToolButton c использованием qss.
    ua-cam.com/video/FDOIel9V98E/v-deo.html
    Видео 12.3 Python готовое приложение с графическим интерфейсом (GUI) Qt и графической библиотекой Matplotlib (Обзор проекта текущее состояние на июль 2018г). ua-cam.com/video/QcGEY9ZDKhE/v-deo.html
    Видео 13.1 Python и создание базы данных данных на движке СУБД sqlite3 с использованием стандартной библиотеки.
    ua-cam.com/video/Tlc_Mi6bwOQ/v-deo.html
    Видео 13.2 Python и sqlite3 внесение изменений в базу данных (СУБД SQLite), практический пример управления данными в базе
    ua-cam.com/video/H-mSFkCY5ds/v-deo.html
    Видео 13.3 Python и sqlite3 хранение изображений в базе данных с СУБД SQLite, практический пример.
    ua-cam.com/video/UbHu_m182Tk/v-deo.html
    Видео 13.4 Python и sqlite3 интеграция функционала базы данных в проект PyScientistNotes. (скоро появится)
    Видео 14 Python и Qt обзор переход с PyQt4 на PyQt5 и далее на PySide2
    ua-cam.com/video/VrbmGuMHr-I/v-deo.html
    Видео 15 Python и Qt стандартные диалоговые окна tutorial
    ua-cam.com/video/mAMEqZ0Zr4A/v-deo.html
    Видео 16 Python и PyQt "QDialog" - создание и настройка диалогового окна
    ua-cam.com/video/mt-gqU-q4B8/v-deo.html
    Видео 1S Matplotlib настройка axes для простого графика
    ua-cam.com/video/0d-Qmv46DnQ/v-deo.html
    Видео 2S Python и интерполяция в numpy и scipy
    ua-cam.com/video/_8Y4fh0bZ6A/v-deo.html
    Видео 3S Python и буфер обмена windows (текстовые данные)
    ua-cam.com/video/MbzjRZDTmUs/v-deo.html
    Видео 17 Python и PyQt класс Qthread пример многопоточности
    ua-cam.com/video/vcPTJX-nM94/v-deo.html
    Видео 1.1.Р Python и ООП создание петрофизической модели часть 1
    ua-cam.com/video/QroC1sAQx_o/v-deo.html
    Видео 2Р Python PyQt5, Matplotlib и ООП архитектура приложения и создание приложения с GUI от начала и до конца

  • @Muoler
    @Muoler 4 роки тому +2

    Пожалуйста чувак, не пропадай

  • @ВладКарась-п5т
    @ВладКарась-п5т 4 роки тому +1

    Спасибо большое, ваши видео во многом помогают мне с дипломом!

    • @PyScientist
      @PyScientist  4 роки тому

      А какая тема Вашего диплома если не секрет?

    • @ВладКарась-п5т
      @ВладКарась-п5т 4 роки тому

      @@PyScientist, Если вкратце - разработка приложения для мониторинга станков с системой ЧПУ на основе базы данных

  • @felixcriminibusnulluseritd7315
    @felixcriminibusnulluseritd7315 2 роки тому +1

    Автор крутой материал

  • @_sergeevich5827
    @_sergeevich5827 4 роки тому +1

    куда пропадал ? я уже на С# успел перейти за это время и запилить несколько норм прог. Сейчас пилю программу для работы, учёт КИП.

    • @PyScientist
      @PyScientist  4 роки тому +1

      Да по работе все неполучалось, теперь вернулся, сам уже на с++ начал временами что-то пытаться своять под python расширения и кое что самостоятельное.

  • @SHKIPPER989
    @SHKIPPER989 4 роки тому

    Спасибо)

  • @matlubamahmudova2088
    @matlubamahmudova2088 2 роки тому

    Здравствуйте! спасибо за очень полезные уроки!
    у меня один вопрос: как в этой программе в место простого txt файла можно загрузить las файл, с каротажными данными?

    • @PyScientist
      @PyScientist  2 роки тому

      Такой возможности изначально не предусматривал. Вообще для парсинга las я как то программку писал. Попробую найти, выложу. Отпишусь тогда в этом комментарии

    • @matlubamahmudova2088
      @matlubamahmudova2088 2 роки тому

      @@PyScientist Спасибо

    • @matlubamahmudova2088
      @matlubamahmudova2088 2 роки тому

      @@PyScientist Я переделала код под лас. когда нажимаю кнопку для вывода таблицы выходит следующий код:
      Process finished with exit code -1073740791 (0xC0000409).
      посмотрела в интернете. Там сказаноб что этот код указывает переполнение какойто памяти. я незнаю как исправит эту ошибку

    • @PyScientist
      @PyScientist  2 роки тому

      Это PyQt ругается. Эта ошибка возникает вследствии того, что интерфейс падает, что является следствием другой ошибки. Чтобы las читать нужно формат понимать. Сейчас же там формат фактически это текст с разделителем точка с запятой. Формат не тот файл читается неправильно падает функция чтения в таблицу и падает само приложение.

    • @matlubamahmudova2088
      @matlubamahmudova2088 2 роки тому +1

      @@PyScientistвсе исправила, программа заработала. Спасибо большое. Очень полезные материалы у Вас

  • @katerynavynokurova3940
    @katerynavynokurova3940 4 роки тому

    Большое спасибо за видео! Все четко и понятно объясняется, еще и с примерами, что особенно важно.
    А можно ли как-то сделать так, чтоб на графики можно было кликать как на Push button и вызывать определенную функцию или всплывающее окно?

  • @ДмитрийКирилов-п6ш
    @ДмитрийКирилов-п6ш 4 роки тому +1

    Благодарю за помощь в освоении Python!
    Очень пригождается для учебы!!!
    И возможно ли как в Excel в левом столбце вручную внести данные аргумента (X), а справа вывести из формулы значения функции (Y), а потом на графике отобразить Y? Или же в таблицу добавляется только текстовый файл с уже готовыми данными?
    Спасибо за ответ!

    • @PyScientist
      @PyScientist  4 роки тому +1

      Да, конечно же можно, бэкенд может быть вообще любой, сформулируйте задачу, что за функция попробуем решить! Можно даже так, что функция будет динамически меняться

    • @ДмитрийКирилов-п6ш
      @ДмитрийКирилов-п6ш 4 роки тому

      @@PyScientist Построить график функции y(x) и таблицу значений y(x) с шагом измерения аргумента h.
      Таблицу значений функции и аргумента необходимо вывести на экран в графическом режиме
      y = x^3-2x^2+1
      шаг 0.02
      Спасибо

    • @PyScientist
      @PyScientist  4 роки тому +1

      На сколько я понял Вам вам подойдёт решение из видео #8. Там по уравнению, заданному в текстовом виде, можно построить функцию с помощью библиотеки numexpr.

  • @powercat8528
    @powercat8528 4 роки тому

    Эх, жаль нет объяснения построчного в обобщающем файле...

    • @PyScientist
      @PyScientist  4 роки тому

      Комментариев, Вы имеете ввиду? Или по коду ещё раз пройтись рассказать как что делается?

  • @vitali1959
    @vitali1959 4 роки тому

    все очень здорово! А как можно красиво отображать множество диаграмм в одном окне, приэтом каждую из диаграмм включать или выклучать? Это чясто нужно если идет записть данных, например отопление: темп1, темп2, темп3 ...
    time temp1 temp2
    28.01.2020 09:35 11,10 13,60
    28.01.2020 09:35 11,20 13,60
    28.01.2020 09:35 11,30 13,60
    28.01.2020 09:35 11,40 13,60
    28.01.2020 09:36 11,50 13,60
    28.01.2020 09:36 11,60 13,60
    28.01.2020 09:36 11,70 13,60
    28.01.2020 09:36 11,80 13,60
    28.01.2020 09:36 11,90 13,60

    • @PyScientist
      @PyScientist  4 роки тому +1

      Если нужно несколько диаграмм, то можно воспользоваться примером из видео 6.1 и 6.2, однако, их отключать не получится. Как вариант можно создать несколько экземпляров Mpl рисунка fig и обращаться к каждому по ссылке для их изменения. При необходимости убирать из размещения средствами qt, а также их возвращать. Вопрос хороший попробую реализовать на примере этой программы дополнив ее. Спасибо за интересный вопрос!

    • @vitali1959
      @vitali1959 4 роки тому

      @@PyScientist у меня вот так получилос, все работает. (но я толь учусь)
      (self.chart = np.loadtxt('./file.csv', delimiter=',')
      def draw(self):
      self.graphicsView.clear() # for i in range(5): # show all charts
      abscissa = self.chart[:, 0] # self.gui.graphicsView.plot(abscissa, self.chart[:, i+1], pen=(i, 10))
      if self.checkBox_1.isChecked():
      ordinate_1 = self.chart[:, 1]
      self.graphicsView.plot(abscissa, ordinate_1, pen='b')
      if self.checkBox_2.isChecked():
      ordinate_2 = self.chart[:, 2]
      self.graphicsView.plot(abscissa, ordinate_2, pen='g')
      if self.checkBox_3.isChecked():
      ordinate_3 = self.chart[:, 3]
      self.graphicsView.plot(abscissa, ordinate_3, pen='m')

  • @ОлексійСтогній-ш4о

    А какая у вас версия python? Просто я смотрел, что pyqt можно только на 2.7 установить

    • @PyScientist
      @PyScientist  4 роки тому

      У меня 3.6. Информацию Вашу не подтверждаю. Можно ставить на любой python до 3.7, причем выбор рекомендую делать на python3.6 и pyqt5 или pyside2. Чтобы идти в ногу со временем. Почему так, а потому что 3.6 стабильнее, хотя 3.7 тоже, но не котрые библиотеки с ним не совместимы, а 3.8 вообще пока мало где есть. Не юзайте pytho 2.7. это контрпродуктивно.

    • @PyScientist
      @PyScientist  4 роки тому

      И посмотрите мои видео 4, 14 там подробно рассказываю откуда чего брать!

    • @ОлексійСтогній-ш4о
      @ОлексійСтогній-ш4о 4 роки тому

      ​@@PyScientist , понял, спасибо!

  • @lex5306
    @lex5306 4 роки тому

    Классное видео. В видео в 21.37 происходит конвертация с расширением py. У меня не конвертируется, все вроде делаю как в видео. Может стыкались с подобным.

    • @PyScientist
      @PyScientist  4 роки тому

      Какого рода ошибка или вообще не конвертирует, какая версия PyQt5

    • @lex5306
      @lex5306 4 роки тому

      @@PyScientist QtDesigner 5.11.1 Ввёл все как в видео, а файл py не появляется.

    • @PyScientist
      @PyScientist  4 роки тому

      Попробуйте в cmd тоже ввести какая ошибка будет

    • @PyScientist
      @PyScientist  4 роки тому

      Коммандной строке винды

    • @lex5306
      @lex5306 4 роки тому

      @@PyScientist В cmd пишет pyuic5 не является внутренней или внешней командой, исполняемый программой или ракетным файлом

  • @ВладИльин-ж3ъ
    @ВладИльин-ж3ъ 4 роки тому

    плохо видно

    • @PyScientist
      @PyScientist  4 роки тому

      А Вы на каком разрешении смотрите? Там до 1080 поддержка, возможно некоторые места смонтировал неудачно?