Вызов пользовательского класса в файле .ui не удался
Я получаю эту ошибку, когда пытаюсь сослаться на свой пользовательский класс из.ui
файл. Какие'не так с тем, что я делаю?
"QFormBuilder was unable to create a custom widget of the class 'TimelinePane'; defaulting to base class 'QWidget'."
QWidget
всплывает с макетом ям, указав в.ui
файл. Проблема только в пользовательском классе.
Чтобы добавить пользовательский класс описание я модифицировал.ui
файл вручную (добавлен весь раздел), поэтому я должен открыть новый вопрос, так как у меня нетЯ не нашел тот же самый Q. Я подозреваю, что путь класса в
.ui
файл, но ни один из вариантов, которые я пробовал (см. часть, которую я закомментировал), не работал. Я также думаю, что с помощьюpython
не должно быть дело здесь, но я не совсем уверен. Haven»я пыталсяC++
еще.
from PySide import QtGui
from PySide import QtCore
from PySide import QtUiTools
class MyWidget(QtGui.QMainWindow):
def __init__(self, *args):
apply(QtGui.QMainWindow.__init__, (self,) + args)
loader = QtUiTools.QUiLoader()
file = QtCore.QFile('./src/prove_qt_ui_file/prove_main_widget.ui')
file.open(QtCore.QFile.ReadOnly)
self.myWidget = loader.load(file, self)
file.close()
self.setCentralWidget(self.myWidget)
if __name__ == '__main__':
import sys
import os
print("Running in " + os.getcwd() + " .\n")
app = QtGui.QApplication(sys.argv)
win = MyWidget()
win.show()
app.exec_()
prove_main_widget.ui
MyWidget
0
0
687
698
Runtime Monitor
0
0
Qt::Vertical
9
false
1
false
1
0
80
TimelinePane
QWidget
src.prove_qt_ui_file.timeline_pane
timeline_pane.py
from PySide.QtGui import QWidget, QGraphicsScene, QGraphicsView, QColor, QHBoxLayout, QPushButton
class TimelinePane(QWidget):
def __init__(self, parent):
super(TimelinePane, self).__init__()
print '\tTimelinePane init 1' # This doesn't print.
(Окружающая среда) Ubuntu 12.04, python 2.7.3