Когда окно перетаскивается так, что часть его не видна на дисплее, обычно OBS все равно получит содержимое окна, даже если оно не отображается на экране.
Однако при программировании приложения Python это работает не так.
Для тестирования я пробовал несколько различных модулей с графическим интерфейсом, например PyQt6, pygame, tkinter и pyglet.
Следующий код просто создает окно, которое мигает черно-белым.
Код: Выделить всё
from PyQt6.QtWidgets import QApplication, QWidget
from PyQt6.QtCore import QTimer
app = QApplication([])
window = QWidget()
window.setStyleSheet("background-color: white;")
window.show()
def toggle_color():
current_color = window.styleSheet()
new_color = "background-color: black;" if current_color == "background-color: white;" else "background-color: white;"
window.setStyleSheet(new_color)
timer = QTimer()
timer.timeout.connect(toggle_color)
timer.start(500)
app.exec()

Сначала я думал, что это связано с самими модулями и тем, как они обрабатывают окна, но теперь я считаю, что это гораздо более фундаментальная проблема, связанная с тем, как Python создает окна и отправляет данные.
По сути, мой вопрос заключается в том, есть ли какой-либо способ изменить природу этого так, чтобы можно было записывать все, что создает Windows Python, вне экрана или нет (аналогично большинству других программ).>
Подробнее здесь: https://stackoverflow.com/questions/787 ... of-it-is-o