Я использую PyQt и пытаюсь продвигать виджет в QtDesigner. Я могу заставить его работать, если я укажу полный путь модуля в поле «Файл заголовка» к файлу, который содержит мой подкласс виджета.
Есть ли лучший способ повысить виджет в QtDesigner до виджета PyQt без указания полного пути к модулю?
Вот пример, который, я надеюсь, проиллюстрирует то, о чем я говорю:
/ PythonModuleRoot / Ui / MainUi.py
from PyQt4 import QtCore, QtGui, uic
class MainUi(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.ui = uic.loadUi(os.path.join(os.path.dirname(__file__), 'MainUi.ui'), self)
/ PythonModuleRoot / Ui / CustomWidget.py
from PyQt4 import QtCore, QtGui, uic
class CustomWidget(QtGui.QWidget):
def __init__(self, parent):
QtGui.QWidget.__init__(self, parent)
/ PythonModuleRoot / Ui / MainUi.ui
В MainUi.ui я продвигаю виджет и задаю для поля файла заголовка значение «PythonModuleRoot.Ui.CustomWidget».