zoukankan      html  css  js  c++  java
  • pyqt 实现左列表向右列表添加

    效果图:

     双击左侧列表加入右侧列表,右侧列表双击删除节点。

    代码:

    import sys
    from PyQt5.QtGui import QPixmap
    from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QListWidget, QListWidgetItem, QHBoxLayout
    
    
    class Demo(QWidget):
        def __init__(self):
            super(Demo, self).__init__()
            self.pic_label = QLabel(self)  # 1
            self.pic_label.setPixmap(QPixmap('arrow.png'))
    
            self.listwidget_1 = QListWidget(self)  # 2
            self.listwidget_2 = QListWidget(self)
            self.listwidget_1.doubleClicked.connect(lambda: self.change_func(self.listwidget_1))
            self.listwidget_2.doubleClicked.connect(lambda: self.change_func(self.listwidget_2))
    
            for i in range(6):  # 3
                text = 'Item {}'.format(i)
                self.item = QListWidgetItem(text)
                self.listwidget_1.addItem(self.item)
    
            self.item_6 = QListWidgetItem('Item 6', self.listwidget_1)  # 4
    
            self.listwidget_1.addItem('Item 7')  # 5
            str_list = ['Item 9', 'Item 10']
            self.listwidget_1.addItems(str_list)
    
            self.item_8 = QListWidgetItem('Item 8')  # 6
            self.listwidget_1.insertItem(8, self.item_8)
            # self.listwidget_1.insertItem(8, 'Item 8')
    
            self.h_layout = QHBoxLayout()
            self.h_layout.addWidget(self.listwidget_1)
            self.h_layout.addWidget(self.pic_label)
            self.h_layout.addWidget(self.listwidget_2)
            self.setLayout(self.h_layout)
    
        def change_func(self, listwidget):  # 7
            if listwidget == self.listwidget_1:
                item = QListWidgetItem(self.listwidget_1.currentItem())
                self.listwidget_2.addItem(item)
                print(self.listwidget_2.count())
            else:
                self.listwidget_2.takeItem(self.listwidget_2.currentRow())
                print(self.listwidget_2.count())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        demo = Demo()
        demo.show()
        sys.exit(app.exec_())
    

      告辞

  • 相关阅读:
    find命令详解
    wget命令
    国内镜像源
    向linux服务器上传下载文件方式收集
    一些初学shell自己写的一些练习题脚本
    在Linux系统下mail命令的用法
    MAC 下安装 SVN
    天气预报api整理
    pdi vcard-2.1
    Android Studio 问题锦集【持续更新】
  • 原文地址:https://www.cnblogs.com/wohuiyijiu/p/12809077.html
Copyright © 2011-2022 走看看