Как брать фотки из Яндекс/гугл диска и использовать их в коде

pixmap = QPixmap('img.png')

то бишь тут у меня берется фото, закинутое в проект, а надо сделать что бы я скачивал его с яндекс диска и так же сохранял в переменную. И еще вопрос, получится ли это все в .exe файле? Просто начинающий программист, вообще не знаю как это делать. Вот весь код (сразу сорри что не использовал классы, я хз как это сделать, поэтому код ОГРОМНЫЙ, и он еще не сделан полностью, там еще все меняться будет)

from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (
        QApplication, QWidget, 
        QHBoxLayout, QVBoxLayout, 
        QGroupBox, QButtonGroup, QRadioButton,  
        QPushButton, QLabel)
from random import randint, shuffle 
import sys
from PyQt5.QtGui import QPixmap # оптимизированная для показа на экране картинка

m = 0
questions_list = [] 


def wind1():
    global btn_OK
    btn_OK = QPushButton('Ответить') # кнопка ответа
    lb_Question = QLabel('Какой у вас курс?') # текст вопроса
    RadioGroupBox = QGroupBox("Варианты ответов") # группа на экране для переключателей с ответами
    global answers
    rbtn_1 = QRadioButton('Python start - 1 курс')
    rbtn_2 = QRadioButton('Python start - 2 курс')
    rbtn_3 = QRadioButton('Python PRO - 1 курс')
    rbtn_4 = QRadioButton('Python PRO - 2 курс')
    answers = [rbtn_1, rbtn_2, rbtn_3, rbtn_4]
    RadioGroup = QButtonGroup() 
    RadioGroup.addButton(rbtn_1)
    RadioGroup.addButton(rbtn_2)
    RadioGroup.addButton(rbtn_3)
    RadioGroup.addButton(rbtn_4)
    
    layout_ans1 = QHBoxLayout()   
    layout_ans2 = QVBoxLayout() # вертикальные будут внутри горизонтального
    layout_ans3 = QVBoxLayout()
    layout_ans2.addWidget(rbtn_1) # два ответа в первый столбец
    layout_ans2.addWidget(rbtn_2)
    layout_ans3.addWidget(rbtn_3) # два ответа во второй столбец
    layout_ans3.addWidget(rbtn_4)
    
    layout_ans1.addLayout(layout_ans2)
    layout_ans1.addLayout(layout_ans3) # разместили столбцы в одной строк
    RadioGroupBox.setLayout(layout_ans1) # готова "панель" с вариантами ответов 
    global AnsGroupBox
    global lb_Result
    global lb_Correct
    layout_res = QVBoxLayout()
    
   
    layout_line1 = QHBoxLayout() # вопрос
    layout_line2 = QHBoxLayout() # варианты ответов или результат теста
    layout_line3 = QHBoxLayout() # кнопка "Ответить"
    
    layout_line1.addWidget(lb_Question, alignment=(Qt.AlignHCenter | Qt.AlignVCenter))
    layout_line2.addWidget(RadioGroupBox)   
    
    
    
    layout_line3.addStretch(1)
    layout_line3.addWidget(btn_OK, stretch=2) # кнопка должна быть большой
    layout_line3.addStretch(1)
    
    layout_card = QVBoxLayout()
    
    layout_card.addLayout(layout_line1, stretch=2)
    layout_card.addLayout(layout_line2, stretch=8)
    layout_card.addStretch(1)
    layout_card.addLayout(layout_line3, stretch=1)
    layout_card.addStretch(1)
    layout_card.setSpacing(5) # пробелы между содержимым
    global window
    window = QWidget()
    window.setLayout(layout_card)
    window.setWindowTitle('')
    btn_OK.clicked.connect(click_OK)
 
    window.score = 0
    window.total = 0
    window.resize(400, 300)

def click_OK():
    if answers[1].isChecked():
        global window1
        btn_OK = QPushButton('Ответить') # кнопка ответа
        lb_Question = QLabel('Выберите тему') # текст вопроса
        RadioGroupBox = QGroupBox("Варианты ответов") # группа на экране для переключателей с ответами
        rbtn_1 = QRadioButton('Структуры данных')
        rbtn_2= QRadioButton('Разработка оконных приложений')
        rbtn_3 = QRadioButton('Работа с текстовыми файлами')
        rbtn_4 = QRadioButton('Автоматическая обработка изображений')
        rbtn_5 = QRadioButton('Продвинутая разработка игр на PyGame')
        rbtn_6 = QRadioButton('Публикация и распространение ПО')
        global answers1
        answers1 = [rbtn_1,rbtn_2,rbtn_3,rbtn_4,rbtn_5,rbtn_6]
        RadioGroup = QButtonGroup() # это для группировки переключателей, чтобы управлять их поведением
        RadioGroup.addButton(rbtn_1)
        RadioGroup.addButton(rbtn_2)
        RadioGroup.addButton(rbtn_3)
        RadioGroup.addButton(rbtn_4)
        RadioGroup.addButton(rbtn_5)
        RadioGroup.addButton(rbtn_6)
        layout_ans1 = QHBoxLayout()   
        layout_ans2 = QVBoxLayout() # вертикальные будут внутри горизонтального
        layout_ans3 = QVBoxLayout()
        layout_ans2.addWidget(rbtn_1) # два ответа в первый столбец
        layout_ans2.addWidget(rbtn_2)
        layout_ans2.addWidget(rbtn_5)
        layout_ans3.addWidget(rbtn_3) # два ответа во второй столбец
        layout_ans3.addWidget(rbtn_4)
        layout_ans3.addWidget(rbtn_6)
        layout_ans1.addLayout(layout_ans2)
        layout_ans1.addLayout(layout_ans3) # разместили столбцы в одной строке
        RadioGroupBox.setLayout(layout_ans1) # готова "панель" с вариантами ответов 
       
        layout_res = QVBoxLayout()
        
        layout_line1 = QHBoxLayout() # вопрос
        layout_line2 = QHBoxLayout() # варианты ответов или результат теста
        layout_line3 = QHBoxLayout() # кнопка "Ответить"
        layout_line1.addWidget(lb_Question, alignment=(Qt.AlignHCenter | Qt.AlignVCenter))
        layout_line2.addWidget(RadioGroupBox)   
        layout_line3.addStretch(1)
        layout_line3.addWidget(btn_OK, stretch=2) # кнопка должна быть большой
        layout_line3.addStretch(1)
        layout_card = QVBoxLayout()
        layout_card.addLayout(layout_line1, stretch=2)
        layout_card.addLayout(layout_line2, stretch=8)
        layout_card.addStretch(1)
        layout_card.addLayout(layout_line3, stretch=1)
        layout_card.addStretch(1)
        layout_card.setSpacing(5) # пробелы между содержимым
        window1 = QWidget()
        window1.setLayout(layout_card)
        window1.setWindowTitle('')
        window1.score = 0
        window1.total = 0
        btn_OK.clicked.connect(click_OK1)
                
        window1.resize(450, 350)
        if __name__ == '__main__':
            window1.show()
    if answers[0].isChecked():
        btn_OK = QPushButton('Ответить') # кнопка ответа
        lb_Question = QLabel('Выберите тему') # текст вопроса
        RadioGroupBox = QGroupBox("Варианты ответов") # группа на экране для переключателей с ответами
        rbtn_1 = QRadioButton('Структуры данных')
        rbtn_2= QRadioButton('Разработка оконных приложений')
        rbtn_3 = QRadioButton('Работа с текстовыми файлами')
        rbtn_4 = QRadioButton('Автоматическая обработка изображений')
        rbtn_5 = QRadioButton('Продвинутая разработка игр на PyGame')
        rbtn_6 = QRadioButton('Публикация и распространение ПО')
        RadioGroup = QButtonGroup() # это для группировки переключателей, чтобы управлять их поведением
        RadioGroup.addButton(rbtn_1)
        RadioGroup.addButton(rbtn_2)
        RadioGroup.addButton(rbtn_3)
        RadioGroup.addButton(rbtn_4)
        RadioGroup.addButton(rbtn_5)
        RadioGroup.addButton(rbtn_6)
        layout_ans1 = QHBoxLayout()   
        layout_ans2 = QVBoxLayout() # вертикальные будут внутри горизонтального
        layout_ans3 = QVBoxLayout()
        layout_ans2.addWidget(rbtn_1) # два ответа в первый столбец
        layout_ans2.addWidget(rbtn_2)
        layout_ans2.addWidget(rbtn_5)
        layout_ans3.addWidget(rbtn_3) # два ответа во второй столбец
        layout_ans3.addWidget(rbtn_4)
        layout_ans3.addWidget(rbtn_6)
        layout_ans1.addLayout(layout_ans2)
        layout_ans1.addLayout(layout_ans3) # разместили столбцы в одной строке
        RadioGroupBox.setLayout(layout_ans1) # готова "панель" с вариантами ответов 
        AnsGroupBox = QGroupBox("Результат теста")
        lb_Result = QLabel('ghgh') # здесь размещается надпись "правильно" или "неправильно"
        lb_Correct = QLabel('ответ будет тут!') # здесь будет написан текст правильного ответа
        layout_res = QVBoxLayout()
        layout_res.addWidget(lb_Result, alignment=(Qt.AlignLeft | Qt.AlignTop))
        layout_res.addWidget(lb_Correct, alignment=Qt.AlignHCenter, stretch=2)
        AnsGroupBox.setLayout(layout_res)
        layout_line1 = QHBoxLayout() # вопрос
        layout_line2 = QHBoxLayout() # варианты ответов или результат теста
        layout_line3 = QHBoxLayout() # кнопка "Ответить"
        layout_line1.addWidget(lb_Question, alignment=(Qt.AlignHCenter | Qt.AlignVCenter))
        layout_line2.addWidget(RadioGroupBox)   
        layout_line2.addWidget(AnsGroupBox)  
        AnsGroupBox.hide() # скроем панель с ответом, сначала должна быть видна панель вопросов
        layout_line3.addStretch(1)
        layout_line3.addWidget(btn_OK, stretch=2) # кнопка должна быть большой
        layout_line3.addStretch(1)
        layout_card = QVBoxLayout()
        layout_card.addLayout(layout_line1, stretch=2)
        layout_card.addLayout(layout_line2, stretch=8)
        layout_card.addStretch(1)
        layout_card.addLayout(layout_line3, stretch=1)
        layout_card.addStretch(1)
        layout_card.setSpacing(5) # пробелы между содержимым
        window1 = QWidget()
        window1.setLayout(layout_card)
        window1.setWindowTitle('')
        window1.score = 0
        window1.total = 0
                
        window1.resize(450, 350)
        if __name__ == '__main__':
            window1.show()

          
def click_OK1():
    if answers1[0].isChecked():
        global window2
        global RadioGroupBox
        btn_OK = QPushButton('Ответить') # кнопка ответа
        lb_Question = QLabel('Выбери задание') # текст вопроса
        RadioGroupBox = QGroupBox("Варианты ответов") # группа на экране для переключателей с ответами
        rbtn_1 = QRadioButton('1')
        rbtn_2= QRadioButton('2')
        rbtn_3 = QRadioButton('3')
        rbtn_4 = QRadioButton('4')
        rbtn_5 = QRadioButton('5')
        rbtn_6 = QRadioButton('6')
        rbtn_7 = QRadioButton('7')
        global answers2
        answers2 = [rbtn_1,rbtn_2,rbtn_3,rbtn_4,rbtn_5,rbtn_6,rbtn_7]
        RadioGroup = QButtonGroup() # это для группировки переключателей, чтобы управлять их поведением
        RadioGroup.addButton(rbtn_1)
        RadioGroup.addButton(rbtn_2)
        RadioGroup.addButton(rbtn_3)
        RadioGroup.addButton(rbtn_4)
        RadioGroup.addButton(rbtn_5)
        RadioGroup.addButton(rbtn_6)
        RadioGroup.addButton(rbtn_7)
        layout_ans1 = QHBoxLayout()   
        layout_ans2 = QVBoxLayout() # вертикальные будут внутри горизонтального
        layout_ans3 = QVBoxLayout()
        layout_ans4 = QVBoxLayout()
        layout_ans2.addWidget(rbtn_1)
        layout_ans2.addWidget(rbtn_2)
        layout_ans2.addWidget(rbtn_3)

        layout_ans4.addWidget(rbtn_7)
        layout_ans4.addWidget(rbtn_6)

        layout_ans3.addWidget(rbtn_4)
        layout_ans3.addWidget(rbtn_5)
        layout_ans1.addLayout(layout_ans2)
        layout_ans1.addLayout(layout_ans3)
        layout_ans1.addLayout(layout_ans4) # разместили столбцы в одной строке
        RadioGroupBox.setLayout(layout_ans1) # готова "панель" с вариантами ответов 
        AnsGroupBox1 = QGroupBox("Результат теста")
        lb_Result = QLabel('ghgh') # здесь размещается надпись "правильно" или "неправильно"
        lb_Correct = QLabel('ss')  # здесь будет написан текст правильного ответа
        layout_res = QVBoxLayout()
        layout_res.addWidget(lb_Result, alignment=(Qt.AlignLeft | Qt.AlignTop))
        layout_res.addWidget(lb_Correct, 95)
        AnsGroupBox1.setLayout(layout_res)
        layout_line1 = QHBoxLayout() # вопрос
        layout_line2 = QHBoxLayout() # варианты ответов или результат теста
        layout_line3 = QHBoxLayout() # кнопка "Ответить"
        layout_line1.addWidget(lb_Question, alignment=(Qt.AlignHCenter | Qt.AlignVCenter))
        layout_line2.addWidget(RadioGroupBox)   
        layout_line2.addWidget(AnsGroupBox1)  
        AnsGroupBox1.hide() # скроем панель с ответом, сначала должна быть видна панель вопросов
        layout_line3.addStretch(1)
        layout_line3.addWidget(btn_OK, stretch=2) # кнопка должна быть большой
        layout_line3.addStretch(1)
        layout_card = QVBoxLayout()
        layout_card.addLayout(layout_line1, stretch=2)
        layout_card.addLayout(layout_line2, stretch=8)
        layout_card.addStretch(1)
        layout_card.addLayout(layout_line3, stretch=1)
        layout_card.addStretch(1)
        layout_card.setSpacing(5) # пробелы между содержимым
        window2 = QWidget()
        window2.setLayout(layout_card)
        window2.setWindowTitle('')
        window2.score = 0
        window2.total = 0
        btn_OK.clicked.connect(click_OK2)
        window2.resize(450, 350)
        if __name__ == '__main__':
            window2.show()
def click_OK2():
    if answers1[0].isChecked():
        global window3
        global AnsGroupBox1
        global RadioGroupBox
        global lb_Result
        global lb_Correct
        btn_OK = QPushButton('Ответить') # кнопка ответа
        lb_Question = QLabel('Выберите номер') # текст вопроса
        RadioGroupBox = QGroupBox("Варианты ответов") # группа на экране для переключателей с ответами
        rbtn_1 = QRadioButton('1')
        rbtn_2= QRadioButton('4')
        rbtn_3 = QRadioButton('6')
        rbtn_4 = QRadioButton('7')
        rbtn_5 = QRadioButton('8')
        rbtn_6 = QRadioButton('9')
        
        global answers3
        answers3 = [rbtn_1,rbtn_2,rbtn_3,rbtn_4,rbtn_5,rbtn_6]
        RadioGroup = QButtonGroup() # это для группировки переключателей, чтобы управлять их поведением
        RadioGroup.addButton(rbtn_1)
        RadioGroup.addButton(rbtn_2)
        RadioGroup.addButton(rbtn_3)
        RadioGroup.addButton(rbtn_4)
        RadioGroup.addButton(rbtn_5)
        RadioGroup.addButton(rbtn_6)
    
        layout_ans1 = QHBoxLayout()   
        layout_ans2 = QVBoxLayout() # вертикальные будут внутри горизонтального
        layout_ans3 = QVBoxLayout()
        layout_ans4 = QVBoxLayout()
        layout_ans2.addWidget(rbtn_1)
        layout_ans2.addWidget(rbtn_2)
        layout_ans2.addWidget(rbtn_3)

    
        layout_ans4.addWidget(rbtn_6)

        layout_ans3.addWidget(rbtn_4)
        layout_ans3.addWidget(rbtn_5)
        layout_ans1.addLayout(layout_ans2)
        layout_ans1.addLayout(layout_ans3)
        layout_ans1.addLayout(layout_ans4) # разместили столбцы в одной строке
        RadioGroupBox.setLayout(layout_ans1) # готова "панель" с вариантами ответов 
        AnsGroupBox1 = QGroupBox("Результат теста")
        lb_Result = QLabel('ghgh') # здесь размещается надпись "правильно" или "неправильно"
        lb_Correct = QLabel('ss')  # здесь будет написан текст правильного ответа
        layout_res = QVBoxLayout()
        layout_res.addWidget(lb_Result, alignment=(Qt.AlignLeft | Qt.AlignTop))
        layout_res.addWidget(lb_Correct, 95)
        AnsGroupBox1.setLayout(layout_res)
        layout_line1 = QHBoxLayout() # вопрос
        layout_line2 = QHBoxLayout() # варианты ответов или результат теста
        layout_line3 = QHBoxLayout() # кнопка "Ответить"
        layout_line1.addWidget(lb_Question, alignment=(Qt.AlignHCenter | Qt.AlignVCenter))
        layout_line2.addWidget(RadioGroupBox)   
        layout_line2.addWidget(AnsGroupBox1)  
        AnsGroupBox1.hide() # скроем панель с ответом, сначала должна быть видна панель вопросов
        layout_line3.addStretch(1)
        layout_line3.addWidget(btn_OK, stretch=2) # кнопка должна быть большой
        layout_line3.addStretch(1)
        layout_card = QVBoxLayout()
        layout_card.addLayout(layout_line1, stretch=2)
        layout_card.addLayout(layout_line2, stretch=8)
        layout_card.addStretch(1)
        layout_card.addLayout(layout_line3, stretch=1)
        layout_card.addStretch(1)
        layout_card.setSpacing(5) # пробелы между содержимым
        window3 = QWidget()
        window3.setLayout(layout_card)
        window3.setWindowTitle('')
        window3.score = 0
        window3.total = 0
        btn_OK.clicked.connect(check_answer)
        window3.resize(450, 350)
        if __name__ == '__main__':
            window3.show()



def show_result():
    btn_OK.setText('Надеюсь мы помогли вам')
    if __name__ == '__main__':
        RadioGroupBox.hide()
        AnsGroupBox1.show()
    
    

def show_correct(ver):
    
    ''' показать результат - установим переданный текст в надпись "результат" и покажем нужную панель '''
    lb_Correct.hide()
    if ver == 0:
        pixmap = QPixmap('img.png')
    if ver == 1:
        pixmap = QPixmap('img1.png')
    if ver == 2:
        pixmap = QPixmap('img2.png')
    if ver == 3:
        pixmap = QPixmap('img3.png')
    if ver == 4:
        pixmap = QPixmap('2.1.5.png')
    if ver == 5:
        pixmap = QPixmap('2.1.6.png')
    if ver == 6:
        pixmap = QPixmap('2.1.7.png')
    lb_Correct.setPixmap(pixmap)
    if __name__ == '__main__':
            lb_Correct.show()
    show_result()
    

def check_answer():
    if answers3[0].isChecked(): 
        show_correct(0)
    if answers3[1].isChecked(): 
        show_correct(1)
    if answers3[2].isChecked(): 
        show_correct(2)
    if answers3[3].isChecked(): 
        show_correct(3)
    if answers3[4].isChecked(): 
        show_correct(4)
    if answers3[5].isChecked(): 
        show_correct(5)

        

        


if __name__ == '__main__':
    app = QApplication([])
    wind1()
    window.show()
    app.exec()

Ответы (0 шт):