Как заставить кнопку менять фон рабочего стола на PyQt
На github нашел статью как поменять фон рабочего стола на видео фон.
Код PyQt
from PyQt5 import QtWidgets
from script import Ui_MainWindow
import sys
class mywindow(QtWidgets.QMainWindow):
def __init__(self):
super(mywindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
ui.pushButton.clicked.connect( ) #Что написать чтобы поменять фон?????
app = QtWidgets.QApplication([])
application = mywindow()
application.show()
На github суть была - прописать команду в cmd, находясь директории файла:
wp run mpv --wid=66566 Test.wmv --loop=inf --player-operation-mode=pseudo-gui --force-window=yes --no-audio
И фон менялся.
Можете подсказать как связать это и кнопки из PyQt, или хотя-бы статью на гите с похожей программой?
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
Можно воспользоваться классом QProcess.
from PyQt5 import QtWidgets
from script import Ui_MainWindow
from PyQt5.QtCore import QProcess
import sys
class mywindow(QtWidgets.QMainWindow):
def __init__(self):
super(mywindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
ui.pushButton.clicked.connect(self.runWallpaper)
def runWallpaper(self):
process = QProcess()
args = ["run", "mpv", "--wid=66566", "Test.wmv", "--loop=inf", "--player-operation-mode=pseudo-gui", "--force-window=yes", "--no-audio"]
# Приложение 'wp' должно быть прописано глобально, либо к нему должен быть указан путь
process.start("wp", args);
# ИЛИ
# process.start("<путь/к/приложению/>wp", args);
# Ждем завершения работы процесса 10 секунд
process.waitForFinished(10000)
app = QtWidgets.QApplication([])
application = mywindow()
application.show()