ui is not definted Как Решить?
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()
arguments = []
arguments.append("run mpv --wid=66566 Test.wmv --loop=inf --player-operation-mode=pseudo-gui --force-window=yes --no-audio")
# Приложение 'wp' должно быть прописано глобально, либо к нему должен быть указан путь
process.start("wp", arguments);
# ИЛИ
# process->start("<путь/к/приложению/>wp", arguments);
app = QtWidgets.QApplication([])
application = mywindow()
application.show()
***>
python main.py
Traceback (most recent call last):
File "main.py", line 27, in <module>
application = mywindow()
File "main.py", line 11, in __init__
ui.pushButton.clicked.connect(self.runWallpaper)
NameError: name 'ui' is not defined
Ответы (1 шт):
Автор решения: Maxim Timakov
→ Ссылка
Эта ошибка возникает так как вы пытаетесь обратиться к переменной ui, которой не существует.
В вашем коде есть поле ui класса mywindow.
Исправлением будет добавление self. перед ui
class mywindow(QtWidgets.QMainWindow):
def __init__(self):
super(mywindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.runWallpaper)
# ^
# |
# +- ui.pushButton.clicked.connect(self.runWallpaper)