In QML, ist es einfach schreiben schafft eine Eigenschaft Bindung, wie zum Beispiel:Wie erstellt man eine Eigenschaftsbindung in Qt/C++?
Rectangle {
width: parent.width
}
Ist es möglich, dies in C++ zu tun?
In QML, ist es einfach schreiben schafft eine Eigenschaft Bindung, wie zum Beispiel:Wie erstellt man eine Eigenschaftsbindung in Qt/C++?
Rectangle {
width: parent.width
}
Ist es möglich, dies in C++ zu tun?
In Qt einige QObject
s haben bestimmte properties, dass „gebunden“ sein kann, Signale und Slots mit:
auto *someWidget = QPushButton(/* ... */);
auto *otherRelatedWidget = QLabel(/* ... */);
// windowTitle is a property for both QWidgets
QObject::connect(someWidget, &QWidget::windowTitleChanged,
otherRelatedWidget, &QWidget::setWindowTitle);
Abgesehen davon, können Sie noch andere Signale und Slots verbinden, auch wenn sie nicht mit Eigenschaften verknüpft
Ich muss darauf hinweisen, dass es keine Syntaxzucker dafür gibt. Weitere Informationen finden Sie unter properties documentation.
Es gibt keine C++ - API, um es direkt zu tun, Sie müssen eine Verbindung vom widthChanged-Signal des Elternteils herstellen, um ein Lambda zu sagen, das die Breite auf die Elternbreite einstellt. – dtech