나는 파이썬 라는 이름의 클래스 관리자 및 그것의 등록 다음과 같다:
backend = Manager()
engine = QQmlApplicationEngine()
engine.rootContext().setContextProperty("backend", backend)
또한 이 클래스에서는(관리자)나라는 속성이 paramDs:
from PySide2.QtCore import QObject, Signal, Property, Slot
class Manager(QObject):
processResult = Signal(bool)
def __init__(self):
QObject.__init__(self)
self.ds = "loading .."
@Slot()
def start_processing(self):
self.set_ds("500")
def read_ds(self):
return self.ds
def set_ds(self, val):
self.ds = val
paramDs = Property(str, read_ds, set_ds)
또한 내에서 프로그램입니다..내가 있는 테이블 보기:
import QtQuick 2.14
import Qt.labs.qmlmodels 1.0
TableView {
id:tb
anchors.fill: parent
columnSpacing: 1
rowSpacing: 1
clip: true
model: TableModel {
TableModelColumn { display: "param_name" }
TableModelColumn { display: "value" }
rows: [
{
"param_name": "Param",
"value": "Value"
},
{
"param_name": "number of classes",
"value": backend.paramDs
}
]
}
delegate: Rectangle {
implicitWidth: displayer.width + 50 <100 ? 100 :displayer.width+50
implicitHeight: 50
color : "#aa009688"
Text {
id:displayer
text: display
color : "white"
anchors.centerIn: parent
}
}
}
지금 어떤 곳에서 나는 프로그램입니다.. start_processing()
슬롯이 있습니다.
지금 paramDs 변경해야에서 테이블에서 보기"로딩.."to"500"그러나 그것은 남아 오래된"적용됩니다.*"값입니다.
왜 재산 업데이트하지 않습니다 그것을 자기에서의 프로그램입니다..?