Python и PyQt 'QDialog' - создание и настройка диалогового окна

preview_player
Показать описание
Это видео продолжает серию видео-записок по Python с обзорами практических приёмов программирования.

Хочу специально выделить из общего ряда видеоматериалы, посвящённые обзорам на элементы GUI от Qt (см. в ссылках). В них можно ознакомится с элементами пользовательского интерфейса. В дальнейшем возможно использовать написанные для элементов GUI функции  в проекте PyScientistNotes и в Вашем собственном тоже!!!

В этой видео-заметке привожу разбор, как создать собственное диалоговое окно, передавать результаты работы полученные в диалоговом окне в основную
программу.

Буду показывать это на примере диалогового окна с помощью которого осуществляется выбор таблицы в базе данных sqlite.

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

Затем из выбранной sql таблицы можно подгрузить данные с помощью которых применить определенные настройки к рабочей среде модуля.

Но Ваше диалоговое окно основанное на моем простом примере может выполнять и другие функции, какие только пожелаете))).

Ссылки на предыдущие видео по теме:
Видео 1: Python настройка рабочего пространства, использование PyCharm
Видео 2: Python функции
Видео 3: Python классы
Видео 4: Графический интерфейс Qt для Python, или PyQt
Видео 5: Python компиляция программ, cx_Freeze и другие компиляторы
Видео 6.1: Библиотека Matplotlib создание графиков для анализа данных
Видео 6.2: Библиотека matplotlib и Qt встраивание графиков в графический интерфейс Qt
Видео 7: Matplotlib модуль Animation класс FuncAnimation (автообновление графиков)
Видео 9.1: Классы QListWidget и QListView сопоставительный анализ, простой пример применения  QListWidget
Видео 9.2: Класс QListView пример применения с использованием QtCore.QabstractListModel
Видео 10: Python и Excel взаимодействие с excel (библиотеки xlrd, xlwt, openpyxl, win32com)
Видео 11: обзор виджета QTableWidget  и практическое использование
Видео №12.1 обзор виджета QStackedWidget использование QComboBox и QPushButton в качестве переключателей
Видео №12.2 Продолжение обзора виджета QStackedWidget использование QToolButton в качестве переключателей, настройка статического и динамического внешнего вида QToolButton c использованием qss.
Видео 13.1 Python и создание базы данных данных на движке СУБД sqlite3 с использованием стандартной библиотеки.
Видео 13.2 Python и sqlite3 внесение изменений в базу данных (СУБД SQLite), практический пример управления данными в базе
Видео 13.3 Python и sqlite3 хранение изображений в базе данных с СУБД SQLite, практический пример.
Видео 13.4 Python и sqlite3 интеграция функционала базы данных в проект PyScientistNotes. (скоро появится)
Видео 14 Python и Qt обзор  переход с PyQt4 на PyQt5 и далее на PySide2
Видео 15 Python и Qt стандартные диалоговые окна tutorial
Видео 1S Matplotlib настройка axes для простого графика
Видео 16 Python и PyQt делаем собственное диалоговое окно

В видео использованы следующие аудио материалы:
композиция Timeless исполнитель Constantine 2018г дабстеп.
Рекомендации по теме
Комментарии
Автор

Спасибо большое. Долго бодался с запуском дочернего окна, нагородил костылей. После вашего объяснения понял, что можно проще, намного проще!

cgrem
Автор

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

лигасмят
Автор

День добрый, как всегда вы на высоте. Спасибо за очередной урок. Так скоро весь Pyqt5 освоим. Так держать.

АлексФри-зу
Автор

Только начинаю изучать, спасибо за видео!

РусланХафизов-мд
Автор

Очень странно это. почему у такого человека как вы, так мало подписчиков на канале, я просто не пойму.
На этом канале настолько полезная информация хранится, что за это у вас должно быть более 100 тыс подписчиков

картес-жж
Автор

Хорошие шпаргалки по PyQt5 (для PySide2 тоже подходят), смотрю их когда на официальной документации не хватает наглядности.

kitkamak
Автор

Большое спасибо. Интересное и очень полезное видео. Прозвучало, что исходники можно найти на портале. Имелся ввиду архив проекта PyCharm (PyScientistNotes v4.1) или где-то есть исходники отдельно для каждого видео?

konstantingagarin
Автор

Спасибо за видео! Вы нашли способ удаления легенды вместе с графиком?

ОльгаКузнецова-бж
Автор

class DialogWindowTableFromSqlDb(QDialog, TableDialogObj):
def __init__(self, tables_in_db, mainwindow):
QDialog.__init__(self)
self.setupUi(self)
self.mainwindow = mainwindow
for table in tables_in_db:
add_simple_element_in_QListWidget(self.listWidget, table)




def acept_data(self):
selected_item_text =

self.close()
def reject_data(self):
self.close()

PyScientist
Автор

Ссылка на архив проекта PyScientistNotes4.0

PyScientist
Автор

Сергей добрый день!
Изучаю pyQt по Вашим роликам.
Я пытаюсь сделать программу с диалоговым окном, в котором при нажатии кнопки меняет текст в основном окне.

ЕвгенийБабаев-хх
Автор

Купился на на название, но не могу назвать видео полезным для себя (Пишу код на Pyqt без использования designer). Что мне, как изучающему нужно (диалоговое окно требуется вынести классом в отдельный файл): 1) Основные (обязательные вещи для создания пользовательского диалогового окна) - т.е. каркас, который в любом случае будет создан и без которого оно не будет функционировать или будет функционировать не правильно - собственно заполнение класса диалогового окна. 2) Как из основного файла программы вызвать это диалоговое окно, 3) Как получить данные, которые человек внес или выбрал в диалоговом окне обратно в основную программу.
Это основные вещи, их нужно объяснять в первую очередь, на них держится вся работа. Внимание! Вот это нужно подавать первым. Вместо этого автор вдарился в какие то специфические забугорные особенности, базу данных и 90% времени набирал текст (озвучивая текст набираемый руками) Зачем? Кому это надо? Это полная дребедень, которая портит даже оформление в power point. Пользование designer докидывает много лишнего в итоговый файл. Я не получил ответов на свои вопросы. Думаю, полезу в тексты программы, попробую распутать клубок и понять, как это все работает. Смотреть видео особенностей работы с базой данных без базиса, когда в интерпретаторе отображается узкий по высоте фрагмент кода то еще дело. И что же? Захожу на сайт открываю разделы содержащие код. Народ матом кроет автора за то что он запоролил их все. Действительно зачем паролить что-то если сам потом этим материалом делишься? Логика бесподобная.

АлексД-ою