Копирование всех элементов из QListWidget в другой - PullRequest
2 голосов
/ 16 июня 2020

Я пытаюсь реализовать копирование всех элементов из одного Qlistwidget в другой в pyqt5, но я не могу найти правильный метод для этого. Мы будем благодарны за любые предложения.

Это пример кода того, что я пытаюсь реализовать:

def expand_camera_view(self):
    for i in range(self.cameraList.count()-1):
        new_item = self.cameraList.item(i)
        self.allCamerasList.addItem(new_item)

Я хочу скопировать элементы из cameraList в allCamerasList. Оба являются QListWidgets. Спасибо

1 Ответ

1 голос
/ 16 июня 2020

Вы можете использовать метод clone() из QListWidgetItem:

from PyQt5 import QtWidgets


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)

    left_lw = QtWidgets.QListWidget()

    for i in range(5):
        it = QtWidgets.QListWidgetItem(f"item-{i}")
        left_lw.addItem(it)

    right_lw = QtWidgets.QListWidget()

    # copy items
    for i in range(left_lw.count()):
        clone_it = left_lw.item(i).clone()
        right_lw.addItem(clone_it)

    w = QtWidgets.QWidget()
    lay = QtWidgets.QVBoxLayout(w)
    lay.addWidget(left_lw)
    lay.addWidget(right_lw)
    w.show()

    sys.exit(app.exec_())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...