@ArtemMik
Python

Как записывать цвет со скриншота pyautogui в БД?

Доброй ночи, у меня код на pyqt5 и pyautogui, который чекает цвет по координатам и записывает этот цвет в БД, но я столкнулся с проблемой, что цвет, который мне даёт pyautogui.screenshot() не хочет записываться в БД, pyqt5 просто крашит и проблема точно в этом (проводил тесты, но проблему не решил)

Main.py:

def search_color(self):
        self.conn = sqlite3.connect('login.db')
        self.cur = self.conn.cursor()

        coords = self.cur.execute(
            'SELECT coord_X, coord_y FROM settings_autoswap WHERE login = ?',
            (self.login,)).fetchone()  # забирает координаты из БД
        if coords[0] == 0 and coords[1] == 0:  # проверка равняются ли они дефолтному значению
            msg = QMessageBox()
            msg.setIcon(QMessageBox.Information)
            msg.setText("Чтобы найти цвет, вам надо ввести в поля выше ваши координаты, если вы ещё не ввели их, то введите ваши координаты!")
            msg.setWindowTitle("Внимание!")
            msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
            msg.exec_()
        else:
            Color = pyautogui.screenshot().getpixel((coords[0], coords[1]))  # поиск цвета по координатам из БД (цвет ищет, делал тесты)
            self.cur.execute(
                'UPDATE settings_autoswap SET color = ? WHERE login = ?',
                (Color, self.login))
            self.conn.commit() # запись цвета в БД (на этом месте крашит и в БД ничего не записывается)
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ArtemMik Автор вопроса
Python
Преобразовал Color в str и всё записалось:

screen = pyautogui.screenshot().getpixel((coords[0], coords[1]))
            color = str(screen)
            print(color)
            self.cur.execute(
                'UPDATE settings_autoswap SET color = ? WHERE login = ?',
                (color, self.login))
            self.conn.commit()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы