Python и Qt стандартные диалоговые окна tutorial

  Рет қаралды 3,388

PyScientist

PyScientist

Күн бұрын

Пікірлер: 16
@АлексФри-з2у
@АлексФри-з2у 6 жыл бұрын
Как всегда, ВСЕ ДОХОДЧИВО И ПОНЯТНО!!! Так держать! Как предложение, создать видео, GUI-интерфейс и удаленное подключение к базе данных, синхронизация нескольких клиентов с базой данных. Думаю очень актуально. Спасибо за труд.
@PyScientist
@PyScientist 6 жыл бұрын
Спасибо, Все предложения складирую в отдельный файл, поэтому ничто не будет забыто. С декабря закончу с кандидатским по философии науки и снова за дело. Но пока пауза все вместе делать неполучается.
@АлексФри-з2у
@АлексФри-з2у 5 жыл бұрын
Удачи в защите кандидатской, в свое время тоже защищал кандидатскую по медицине)))
@ЯнаКухаренко-ы3ф
@ЯнаКухаренко-ы3ф 3 жыл бұрын
спасибо большое, вы мне очень помогли !
@user-sy1pc4bc3u
@user-sy1pc4bc3u 5 жыл бұрын
Спасибо! То что нужно. В довескок помогли разобраться с ошибкой -1073740791. С Python, как в целом с программированием, только знакомлюсь и многого не знаю. Все форумы облазил, кто-то советовал драйвер от видеокарты обновить, кто-то PyQt переустановить, а нужно было всего лишь аргументы дописать. Спасибо еще раз!!!
@PyScientist
@PyScientist 5 жыл бұрын
Стараюсь все досконально проверять перед публикацией, и показывать ошибки, которые возникают у меня. Как показывает практика они возникают не только у меня, но и у 90% тех, кто сталкивается с этим первый раз. Обычно тратил на подобного рода ошибки и поиски истины много времени. Поэтому решил, что для поддержки начинающих это нужно. Так собственно и снято первое видео, а за ним и последующие.
@МирныйЧеловекСмерти
@МирныйЧеловекСмерти 5 жыл бұрын
Огромное спасибо за такие видео!
@_sergeevich5827
@_sergeevich5827 6 жыл бұрын
Отлично. Сделайте урок по делегатам для TableView, чтобы в её ячейки можно было вставлять разные виджеты.
@PyScientist
@PyScientist 6 жыл бұрын
Александр, подготовлю такую запись, этого ещё не было. Немного похоже на QLISTVIEW, но так как таблица ДВУМЕРНА в отличии от списка есть определённые отличия. Спасибо за ваше внимание!
@евгений36-7
@евгений36-7 Жыл бұрын
Спасибо огромное!
@PyScientist
@PyScientist 6 жыл бұрын
import sys from PyQt5 import QtGui, QtCore from PyQt5.QtWidgets import QInputDialog, QFontDialog, QColorDialog, QFileDialog from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QPushButton, QTextEdit, QLabel def pushButton_input_dialog_funct(self): pushButton_input_dialog = QPushButton() pushButton_input_dialog.setText('User input') pushButton_input_dialog.setMinimumSize(QtCore.QSize(100, 40)) pushButton_input_dialog.clicked.connect(self.input_dialog) self.vbox.addWidget(pushButton_input_dialog) def pushButton_color_dialog_funct(self): pushButton_color_dialog = QPushButton() pushButton_color_dialog.setText('Color input') pushButton_color_dialog.setMinimumSize(QtCore.QSize(100, 40)) pushButton_color_dialog.clicked.connect(self.color_dialog) self.vbox.addWidget(pushButton_color_dialog) def pushButton_font_dialog_funct(self): pushButton_font_dialog = QPushButton() pushButton_font_dialog.setText('Font input') pushButton_font_dialog.setMinimumSize(QtCore.QSize(100, 40)) pushButton_font_dialog.clicked.connect(self.font_dialog) self.vbox.addWidget(pushButton_font_dialog) def text_edit_for_dialog_funct(self): text_edit_for_dialog = QTextEdit() text_edit_for_dialog.setMinimumSize(QtCore.QSize(400, 40)) self.text_edit_for_dialog = text_edit_for_dialog self.vbox.addWidget(self.text_edit_for_dialog) def pushButton_file_dialog_funct(self): pushButton_file_dialog = QPushButton() pushButton_file_dialog.setText('File choose') pushButton_file_dialog.setMinimumSize(QtCore.QSize(100, 40)) pushButton_file_dialog.clicked.connect(self.file_dialog) self.vbox.addWidget(pushButton_file_dialog) def pushButton_files_dialog_funct(self): pushButton_files_dialog = QPushButton() pushButton_files_dialog.setText('Files choose') pushButton_files_dialog.setMinimumSize(QtCore.QSize(100, 40)) pushButton_files_dialog.clicked.connect(self.files_dialog) self.vbox.addWidget(pushButton_files_dialog) def pushButton_folder_dialog_funct(self): pushButton_folder_dialog = QPushButton() pushButton_folder_dialog.setText('Folder choose') pushButton_folder_dialog.setMinimumSize(QtCore.QSize(100, 40)) pushButton_folder_dialog.clicked.connect(self.folder_dialog) self.vbox.addWidget(pushButton_folder_dialog) def pushButton_file_save_dialog_funct(self): pushButton_file_save_dialog = QPushButton() pushButton_file_save_dialog.setText('choose file name for save') pushButton_file_save_dialog.setMinimumSize(QtCore.QSize(100, 40)) pushButton_file_save_dialog.clicked.connect(self.file_save_dialog) self.vbox.addWidget(pushButton_file_save_dialog) def text_edit_for_file_dialog_funct(self): text_edit_for_file_dialog = QTextEdit() text_edit_for_file_dialog.setMinimumSize(QtCore.QSize(400, 40)) self.text_edit_for_file_dialog = text_edit_for_file_dialog self.vbox.addWidget(self.text_edit_for_file_dialog) class MainWindowForFileDialog(QMainWindow): def __init__(self): QMainWindow.__init__(self) self.resize(500, 500) self.setWindowTitle("Example Qdialog") self.centralWidget = QWidget(self) self.centralWidget.resize(500, 500) self.vbox = QVBoxLayout(self.centralWidget) pushButton_input_dialog_funct(self) pushButton_color_dialog_funct(self) pushButton_font_dialog_funct(self) text_edit_for_dialog_funct(self) pushButton_file_dialog_funct(self) pushButton_files_dialog_funct(self) pushButton_folder_dialog_funct(self) pushButton_file_save_dialog_funct(self) text_edit_for_file_dialog_funct(self) def input_dialog(self): text, val_return = QInputDialog.getText(self, 'Input Dialog', 'Enter your digits or character:') text_to_print = 'You input is: ' +str(text)+ '; Answer Type is: ' + str(type(text)) + 'Vlue return is:' + str(val_return) self.text_edit_for_dialog.setText(text_to_print) def color_dialog(self): color = QColorDialog.getColor() self.text_edit_for_dialog.setText(str(color.name())) self.text_edit_for_dialog.setStyleSheet("QWidget { background-color: %s }" % color.name()) def font_dialog(self): font_description, val_return = QFontDialog.getFont() self.text_edit_for_dialog.setCurrentFont(font_description) self.text_edit_for_dialog.setText('QFont object is: '+str(font_description)) def file_dialog(self): dialog_name = 'Please choose some file to open' folder_init_name = 'C:/Python36/Scripts/PyScientistNotes' filename = QFileDialog.getOpenFileName(self, dialog_name, folder_init_name, "Image files (*.jpg, *.gif, *.txt)")[0] self.text_edit_for_file_dialog.setText(str(filename)) def files_dialog(self): dialog_name = 'Please choose some file to open' folder_init_name = 'C:/Python36/Scripts/PyScientistNotes' filename = QFileDialog.getOpenFileNames(self, dialog_name, folder_init_name, "Image files (*.jpg, *.gif);; Doc files (, *.txt)") self.text_edit_for_file_dialog.setText(str(filename)) def folder_dialog(self): dialog_name = 'Please choose some file to open' folder_init_name = 'C:/Python36/Scripts/PyScientistNotes' foldername = QFileDialog.getExistingDirectory(self, dialog_name, folder_init_name) self.text_edit_for_file_dialog.setText(str(foldername)) def file_save_dialog(self): dialog_name = 'Please choose some file to open' folder_init_name = 'C:/Python36/Scripts/PyScientistNotes' save_filename = QFileDialog.getSaveFileName(self, dialog_name, folder_init_name, "Image files (*.jpg, *.gif, *.txt)")[0] self.text_edit_for_file_dialog.setText(str(save_filename)) def main(): app = QApplication(sys.argv) main = MainWindowForFileDialog() main.show() app.exec_() if __name__ == '__main__': main()
@_WLAR_
@_WLAR_ 5 жыл бұрын
Можно снять отдельное видео, посвященное дебагу приложений? Ошибка с данным кодом возникает во многих ситуациях, а нагуглить что-то толковое не получается. Есть ли способ получать трейсбек ошибок?
@PyScientist
@PyScientist 5 жыл бұрын
Владимир, да тема действительно интересная, как то её упустил. Спасибо за наводку! Постараюсь сделать по поиску жуков в краце, потом буду расширять! Traceback конечно же можно сделать есть даже одноимённый модуль, но мне лично было его сложно осваивать. Можно отлавливать и через PyCharm, либо для относительно простых программ исключениями делать лог но это исключительно для начинающих.
@markrudenko6236
@markrudenko6236 4 жыл бұрын
Есть вопрос: а с помощью каких инструментов можно работаь напрямую с диалоговым окном винды?
@PyScientist
@PyScientist 4 жыл бұрын
pywin32, это API для windows. С окнами Qt не имеет ничего общего.
@markrudenko6236
@markrudenko6236 4 жыл бұрын
@@PyScientist спасибо, поищу)
Docker - Полный курс Docker Для Начинающих [3 ЧАСА]
3:01:51
А что бы ты сделал? @LimbLossBoss
00:17
История одного вокалиста
Рет қаралды 10 МЛН
Synyptas 4 | Арамызда бір сатқын бар ! | 4 Bolim
17:24
Теория Струн - БРЕД? Кризис в науке?
39:03
Космос Просто
Рет қаралды 17 М.
Python VS С# | Согласен / Не согласен
14:27
Технологии в Контуре
Рет қаралды 50 М.
Пишем REST API сервис на Go - УЛЬТИМАТИВНЫЙ гайд
2:57:51
Николай Тузов — Golang
Рет қаралды 133 М.
Советский мультфильм про нашу жизнь !
13:49
Дедушка Аргентинца
Рет қаралды 5 МЛН
React JS фундаментальный курс от А до Я
3:01:08