Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.05.2017
Сообщений: 1
1
PyQt5

Сохранение выбранного файла из QListWidget

27.05.2017, 10:53. Показов 1230. Ответов 0

Author24 — интернет-сервис помощи студентам
Не работает сохранение файлов. Программа не понимает, что ей сохранять.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import sys
from pyqt import *
from PyQt5 import QtCore, QtGui, QtWidgets
import pytube
 
class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
 
        # Здесь прописываем событие нажатия на кнопку        
        self.ui.ok_button.clicked.connect(self.ok_button_func)
        self.ui.download_button.clicked.connect(self.download_button_func)
 
    # Пока пустая функция которая выполняется
    # при нажатии на кнопку                  
    def ok_button_func(self):
        global videos
        video_link_input = self.ui.textEdit.toPlainText()
        video_link_output = pytube.YouTube(video_link_input)
        file_name = video_link_output.filename
        videos = video_link_output.get_videos()
        self.ui.videos_list.addItem(file_name)   
        k = 0 
        for v in videos: 
            b = str(k+1) + ') ' + ' Формат - ' + videos[k].extension + ' Качество - ' + videos[k].resolution
            k += 1
            self.ui.videos_list.addItem(b)
 
 
    def download_button_func(self):
        fileopen = QtWidgets.QFileDialog.getSaveFileName(self, 'Выберите куда сохранить файл')
        file_full_path = fileopen[0]
        videos[self.ui.videos_list.itemActivated(self.ui.download_button)].download(path = file_full_path)
        
 
 
app = QtWidgets.QApplication(sys.argv)
myapp = MyWin()
myapp.show()
sys.exit(app.exec_())
Вот сам интерфейс:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.8.2
#
# WARNING! All changes made in this file will be lost!
 
from PyQt5 import QtCore, QtGui, QtWidgets
 
class Ui_MainWindow(object):
 
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(720, 520)
        MainWindow.setMinimumSize(QtCore.QSize(720, 520))
        MainWindow.setMaximumSize(QtCore.QSize(720, 520))
        MainWindow.setStyleSheet("")
        MainWindow.setWindowIcon(QtGui.QIcon('images/icon.png'))
 
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
 
        self.frame = QtWidgets.QFrame(self.centralwidget)
        self.frame.setGeometry(QtCore.QRect(-10, -10, 740, 530))
        self.frame.setMinimumSize(QtCore.QSize(740, 530))
        self.frame.setMaximumSize(QtCore.QSize(740, 530))
        self.frame.setStyleSheet("background: url(images/background.jpg);\n"
"background-attachment: fixed;\n"
"background-position: center;")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
 
        self.download_button = QtWidgets.QPushButton(self.frame)
        self.download_button.setGeometry(QtCore.QRect(280, 480, 180, 41))
        font = QtGui.QFont()
        font.setFamily("Calibri")
        font.setPointSize(18)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.download_button.setFont(font)
        self.download_button.setStyleSheet("background: rgba(255, 255, 255, 1);\n"
"background-attachment: fixed;\n"
"background-position: center;")
        self.download_button.setObjectName("download_button")
 
        self.ok_button = QtWidgets.QPushButton(self.frame)
        self.ok_button.setGeometry(QtCore.QRect(640, 180, 81, 23))
        self.ok_button.setStyleSheet("background: rgba(255, 255, 255, 1);\n"
"background-attachment: fixed;\n"
"background-position: center;")
        self.ok_button.setObjectName("ok_button")
 
        self.label_2 = QtWidgets.QLabel(self.frame)
        self.label_2.setGeometry(QtCore.QRect(259, 50, 231, 51))
        font = QtGui.QFont()
        font.setFamily("Comic Sans MS")
        font.setPointSize(26)
        self.label_2.setFont(font)
        self.label_2.setStyleSheet("background: rgba(37, 117, 118, 0.0);\n"
"background-attachment: fixed;\n"
"background-position: center;")
        self.label_2.setObjectName("label_2")
 
        self.label_3 = QtWidgets.QLabel(self.frame)
        self.label_3.setGeometry(QtCore.QRect(20, 140, 201, 31))
        font = QtGui.QFont()
        font.setFamily("Comic Sans MS")
        self.label_3.setFont(font)
        self.label_3.setStyleSheet("background: rgba(37, 117, 118, 0);\n"
"background-attachment: fixed;\n"
"background-position: center;")
        self.label_3.setObjectName("label_3")
 
        self.label = QtWidgets.QLabel(self.frame)
        self.label.setGeometry(QtCore.QRect(250, 10, 240, 41))
        font = QtGui.QFont()
        font.setFamily("Comic Sans MS")
        font.setPointSize(22)
        self.label.setFont(font)
        self.label.setStyleSheet("background: rgba(37, 117, 118, 0.0);\n"
"background-attachment: fixed;\n"
"background-position: center;")
        self.label.setObjectName("label")
 
        self.videos_list = QtWidgets.QListWidget(self.frame)
        self.videos_list.setGeometry(QtCore.QRect(20, 210, 700, 261))
        self.videos_list.setMinimumSize(QtCore.QSize(700, 261))
        self.videos_list.setMaximumSize(QtCore.QSize(700, 261))
        font.setFamily("Comic Sans MS")
        font.setPointSize(22)
        self.videos_list.setStyleSheet("background: rgb(255, 255, 255)")
        self.videos_list.setObjectName("videos_list")
 
        self.textEdit = QtWidgets.QTextEdit(self.frame)
        self.textEdit.setGeometry(QtCore.QRect(230, 140, 491, 31))
        self.textEdit.setStyleSheet("background: rgb(255, 255, 255)")
        self.textEdit.setObjectName("textEdit")
 
 
        MainWindow.setCentralWidget(self.centralwidget)
 
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
 
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "YV Downloader"))
        self.download_button.setText(_translate("MainWindow", "Download"))
        self.ok_button.setText(_translate("MainWindow", "OK"))
        self.label_2.setText(_translate("MainWindow", "<html><head/><body><p align="center"><span style=" color:#ffffff;">Downloader</span></p></body></html>"))
        self.label_3.setText(_translate("MainWindow", "<html><head/><body><p><span style=" font-size:12pt; color:#ffffff;">Вставьте ссылку на видео</span></p></body></html>"))
        self.label.setText(_translate("MainWindow", "<html><head/><body><p align="center"><span style=" color:#ffffff;">Youtube videos</span></p></body></html>"))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2017, 10:53
Ответы с готовыми решениями:

Получить индекс выбранного элемента списка QListWidget
Нужно записать индекс выбранного элемента списка QListWidget в переменную. С помощью какого метода...

Сохранение qListWidget в файл и загрузка из него
Я не так давно в qt и не все понимаю. Я нашел в интернете некоторые советы как именно делать это,...

Реализовать сохранение файла (первое сохранение нового файла и сохранение при выходе из программы)
Первая процедура: сохранение, при первом сохранении открывалось диалоговое окно типа &quot;сохранить...

Сохранение выбранного элемента из выпадающего списка
Решил сделать для галочки простое веб приложение и столкнулся со следующей проблемой: Как...

0
27.05.2017, 10:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2017, 10:53
Помогаю со студенческими работами здесь

Сохранение выбранного изображения в памяти приложения
Доброго времени суток. Есть imageView, по нажатию выбираю фото из галереи. Однако каждый раз...

Сохранение выбранного значение элемента select
Есть на странице элемент select. На второй странице тоже есть этот элемент с теми же значениями....

Сохранение в Ini выбранного шрифта в FontDialog
Добрый день и с наступающим! Я сохраняю в ини каждый пареметр шрифта отдельно и также считываю, но...

QlistWidget запись файла
Может ли кто подсказать, как прочитать .docx файл в listWidget соблюдая при этом стиль текста? Или...

Вывод строки из файла в QListWidget
Программирую программку, не скажу что прям асс в програмировании . Столкнулся с проблемой . Есть...

Как сделать сохранение в файл с учетом выбранного RadioButton
Ребят всем привет, нужна помощь кто сможет помогите пожалуйста, заранее спасибо. Суть такова...

Сохранение выбранного пункта в select при перезагрузке страницы
Кто подскажет как зафиксировать выбранный пункт селекта, чтобы и после перезагрузки страницы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru