## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ## ## $QT_END_LICENSE$ ## ############################################################################# """PySide2 port of the remoteobjects/modelviewclient example from Qt v5.x""" import sys from PySide2.QtCore import QUrl from PySide2.QtWidgets import (QApplication, QTreeView) from PySide2.QtRemoteObjects import QRemoteObjectNode if __name__ == '__main__': app = QApplication(sys.argv) node = QRemoteObjectNode(QUrl("local:registry")) node.setHeartbeatInterval(1000) view = QTreeView() view.setWindowTitle("RemoteView") view.resize(640, 480) model = node.acquireModel("RemoteModel") view.setModel(model) view.show() sys.exit(app.exec_())
source_model.invisibleRootItem().appendRow(row) list.append("FancyTextNumber {}".format(i)) # Needed by QMLModelViewClient role_names = { Qt.DisplayRole: QByteArray(b'_text'), Qt.BackgroundRole: QByteArray(b'_color') } source_model.setItemRoleNames(role_names) roles = [Qt.DisplayRole, Qt.BackgroundRole] print("Creating registry host") node = QRemoteObjectRegistryHost(QUrl("local:registry")) node2 = QRemoteObjectHost(QUrl("local:replica"), QUrl("local:registry")) node2.enableRemoting(source_model, "RemoteModel", roles) view = QTreeView() view.setWindowTitle("SourceView") view.setModel(source_model) view.show() handler = TimerHandler(source_model) QTimer.singleShot(5000, handler.change_data) QTimer.singleShot(10000, handler.insert_data) QTimer.singleShot(11000, handler.change_flags) QTimer.singleShot(12000, handler.remove_data) QTimer.singleShot(13000, handler.move_data) sys.exit(app.exec_())
if parents[-1].childCount() > 0: parents.append(parents[-1].child(parents[-1].childCount() - 1)) indentations.append(position) else: while position < indentations[-1] and len(parents) > 0: parents.pop() indentations.pop() # Append a new item to the current parent's list of children. parents[-1].appendChild(TreeItem(columnData, parents[-1])) number += 1 if __name__ == '__main__': import sys app = QApplication(sys.argv) f = QFile('tree_data.txt') f.open(QIODevice.ReadOnly) model = TreeModel(f.readAll()) f.close() view = QTreeView() view.setModel(model) view.setWindowTitle("Simple Tree Model") view.show() sys.exit(app.exec_())
def iterItems(self, root): def recurse(parent): for row in range(parent.rowCount()): for column in range(parent.columnCount()): child = parent.child(row, column) yield child if child.hasChildren(): yield from recurse(child) if root is not None: yield from recurse(root) if __name__ == '__main__': import sys app = QApplication(sys.argv) model = LocationModel(global_tree) view = QTreeView() view.setModel(model) #view.setSortingEnabled(True) view.sortByColumn(0, Qt.AscendingOrder) view.setWindowTitle("TEST") view.show() sys.exit(app.exec_())