ошибка создания слота qt python
создаю кнопку на форме. тыкаю по ней правой кнопкой мыши -> перейти к слоту -> clicked -> ОК. вылетает такая ошибка:
Не удалось найти документы соответствующие «ui_form.h». Возможно, пересборка проекта поможет.
пересборка не помогает:) подскажите, в чем может быть дело?
вот код, который запускают. сам код запускается.
# This Python file uses the following encoding: utf-8
import sys
import os
from PySide2.QtWidgets import QApplication, QWidget
from PySide2.QtCore import QFile
from PySide2.QtUiTools import QUiLoader
class pygui(QWidget):
def __init__(self):
super(pygui, self).__init__()
self.load_ui()
def load_ui(self):
loader = QUiLoader()
path = os.path.join(os.path.dirname(__file__), "form.ui")
ui_file = QFile(path)
ui_file.open(QFile.ReadOnly)
loader.load(ui_file, self)
ui_file.close()
if __name__ == "__main__":
app = QApplication([])
widget = pygui()
widget.show()
sys.exit(app.exec_())
код ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>pygui</class>
<widget class="QWidget" name="pygui">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>371</width>
<height>167</height>
</rect>
</property>
<property name="windowTitle">
<string>pygui</string>
</property>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>140</x>
<y>70</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Не совсем понимаю, что вы написали, но попробуйте еще раз. Раскомментируйте строки для PySide2 и закомментируйте строки для PyQt5.
import sys
import os
'''
from PySide2.QtWidgets import QApplication, QWidget
from PySide2.QtCore import QFile
from PySide2.QtUiTools import QUiLoader
'''
from PyQt5.Qt import * # PyQt5
from PyQt5 import uic # PyQt5
class PyGui(QWidget):
def __init__(self):
super(PyGui, self).__init__()
self.load_ui()
def load_ui(self):
'''
loader = QUiLoader()
path = os.path.join(os.path.dirname(__file__), "form.ui")
ui_file = QFile(path)
ui_file.open(QFile.ReadOnly)
loader.load(ui_file, self)
ui_file.close()
'''
# self.ui = QUiLoader().load("form.ui", self) # PySide2
uic.loadUi("form_q1273984.ui", self) # PyQt5
# self.ui.pushButton.clicked.connect(self.onClicked) # PySide2
self.pushButton.clicked.connect(self.onClicked) # PyQt5
def onClicked(self):
print(f'onClicked')
if __name__ == "__main__":
app = QApplication([])
widget = PyGui()
widget.show()
sys.exit(app.exec_())
