示例#1
0
    def update_usb_devices(self):
        model = QStandardItemModel()
        bus = dbus.SystemBus()
        self.iface = 'org.freedesktop.DBus.ObjectManager'
        #bus.add_signal_receiver(self.callback_function, signal, iface)
        proxy = bus.get_object("org.freedesktop.UDisks2",
                               "/org/freedesktop/UDisks2")
        self.iface = dbus.Interface(proxy, "org.freedesktop.UDisks2")

        self.iface.connect_to_signal('DeviceAdded', self.device_added_callback)
        self.iface.connect_to_signal('DeviceRemoved',
                                     self.device_removed_callback)
        self.iface.connect_to_signal('InterfacesAdded',
                                     self.device_changed_callback)

        dev1 = get_usb()
        items = get_usb()

        #for text, checked in items:
        for text in sorted(items):

            text_item = QStandardItem(text)
            #checked_item = QStandardItem()
            #checked_item.setData(QVariant(checked), Qt.CheckStateRole)
            model.appendRow(text_item)  #([text_item, checked_item])

        view = QTreeView()
        view.header().hide()
        view.setRootIsDecorated(False)

        combo = self.ui.comboBox_device
        combo.setView(view)
        combo.setModel(model)
        combo.show()