示例#1
0
    def __init__(self, text="Enter object label", parent=None, listItem=None):

        super(LabelDialog, self).__init__(parent)

        self.edit = QLineEdit()
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())
        self.edit.editingFinished.connect(self.postProcess)

        model = QStringListModel()
        model.setStringList(listItem)
        completer = QCompleter()
        completer.setModel(model)
        self.edit.setCompleter(completer)

        layout = QVBoxLayout()
        layout.addWidget(self.edit)
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.accepted.connect(self.validate)
        bb.rejected.connect(self.reject)
        layout.addWidget(bb)

        if listItem is not None and len(listItem) > 0:
            self.listWidget = QListWidget(self)
            for item in listItem:
                self.listWidget.addItem(item)
            self.listWidget.itemClicked.connect(self.listItemClick)
            self.listWidget.itemDoubleClicked.connect(self.listItemDoubleClick)
            layout.addWidget(self.listWidget)

        self.setLayout(layout)
示例#2
0
    def __init__(self, text="Enter object label", parent=None, listItem=None):
        """
        Create an instance of the labelDialog.
        :param text: The text to display at the top of the dialog box.
        :param parent: The parent of the dialog box. None by default.
        :param listItem: The listItem to select when the dialog box is displayed.
        """
        super(LabelDialog, self).__init__(parent)
        self.edit = QLineEdit()
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())
        self.edit.editingFinished.connect(self.postProcess)
        layout = QVBoxLayout()
        layout.addWidget(self.edit)
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.accepted.connect(self.validate)
        bb.rejected.connect(self.reject)
        layout.addWidget(bb)

        if listItem is not None and len(listItem) > 0:
            self.listWidget = QListWidget(self)
            for item in listItem:
                self.listWidget.addItem(item)
            self.listWidget.itemDoubleClicked.connect(self.listItemClick)
            layout.addWidget(self.listWidget)

        self.setLayout(layout)
示例#3
0
    def __init__(self, text="Enter object label", parent=None, listItem=None):
        super(LabelDialog, self).__init__(parent)

        self.edit = QLineEdit()
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())
        self.edit.editingFinished.connect(self.postProcess)

        model = QStringListModel()
        model.setStringList(listItem)
        completer = QCompleter()
        completer.setModel(model)
        self.edit.setCompleter(completer)

        layout = QVBoxLayout()
        layout.addWidget(self.edit)
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.accepted.connect(self.validate)
        bb.rejected.connect(self.reject)
        layout.addWidget(bb)

        if listItem is not None and len(listItem) > 0:
            self.listWidget = QListWidget(self)
            for item in listItem:
                self.listWidget.addItem(item)
            self.listWidget.itemDoubleClicked.connect(self.listItemClick)
            layout.addWidget(self.listWidget)

        self.setLayout(layout)
示例#4
0
    def __init__(self, text="Adjust window/level", parent=None):
        super(AdjustWindowLevelDialog, self).__init__(parent)

        self.windowEdit = QLineEdit()
        self.windowEdit.setText(text)
        self.windowEdit.setValidator(labelValidator())
        self.windowEdit.editingFinished.connect(self.postProcess)

        self.levelEdit = QLineEdit()
        self.levelEdit.setText(text)
        self.levelEdit.setValidator(labelValidator())
        self.levelEdit.editingFinished.connect(self.postProcess)

        layout = QVBoxLayout()
        layout.addWidget(self.windowEdit)
        layout.addWidget(self.levelEdit)
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.accepted.connect(self.validate)
        bb.rejected.connect(self.reject)
        layout.addWidget(bb)

        self.setLayout(layout)
示例#5
0
    def __init__(self,
                 text="Enter object label",
                 parent=None,
                 listItem=None,
                 sub_label_items=None,
                 label_fre_dic=None):
        super(LabelDialog, self).__init__(parent)
        self.edit = QLineEdit()  #小框子上面的小的文本框
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())  #整个文本限制器在libs.lib里
        self.edit.editingFinished.connect(self.postProcess)  #输入完后显示出来
        layout = QVBoxLayout()
        self.label_fre_dic = label_fre_dic
        layout.addWidget(self.edit)
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.accepted.connect(self.validate)  #确认按键
        bb.rejected.connect(self.reject)  #取消按键 直接退出
        layout.addWidget(bb)
        if sub_label_items:
            self.sub_labels_dic = sub_label_items
            self.sublistwidget = SubListWidget()
            if self.sub_labels_dic.keys() is not None and len(
                    self.sub_labels_dic.keys()) > 0:
                self.listWidget = QListWidget(self)
            keys = sorted(self.sub_labels_dic.keys())
            for item in keys:
                self.listWidget.addItem(item)
            self.listWidget.itemClicked.connect(self.listItemClicked)
            layout.addWidget(self.listWidget)

        elif listItem:
            sorted_labels = []
            if self.label_fre_dic:
                print(label_fre_dic)
                sorted_labels = sorted(self.label_fre_dic,
                                       key=self.label_fre_dic.get,
                                       reverse=True)
            if listItem is not None and len(listItem) > 0:
                self.listWidget = QListWidget(self)
            for item in sorted_labels:
                self.listWidget.addItem(item)
            self.listWidget.itemDoubleClicked.connect(
                self.listItemDoubleClicked)
            layout.addWidget(self.listWidget)
        self.setLayout(layout)
示例#6
0
    def __init__(self, text="Enter object label", parent=None, listItem=None):
        super(LabelDialog, self).__init__(parent)

        self.edit = QLineEdit()
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())
        self.edit.editingFinished.connect(self.postProcess)
        self.kind = "Horizontal"

        model = QStringListModel()
        model.setStringList(listItem)
        completer = QCompleter()
        completer.setModel(model)
        self.edit.setCompleter(completer)

        layout = QVBoxLayout()
        layout.addWidget(self.edit)
        button_V = QPushButton("doc", self)
        button_Reset = QPushButton("Reset State", self)
        # button_V.resize('aaa')
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        # self.buttonH_C = bb2 = BB(BB.)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.accepted.connect(self.validate)
        bb.rejected.connect(self.reject)
        layout.addWidget(bb)
        layout.addWidget(button_V)
        layout.addWidget(button_Reset)
        # QObject.connect(button_V,SIGNAL("clicked()",self.buttonClicked)
        button_V.clicked.connect(self.buttonClicked)
        button_Reset.clicked.connect(self.buttonReset)
        if listItem is not None and len(listItem) > 0:
            self.listWidget = QListWidget(self)
            for item in listItem:
                self.listWidget.addItem(item)
            self.listWidget.itemClicked.connect(self.listItemClick)
            # self.listWidget.itemClicked.conn
            self.listWidget.itemDoubleClicked.connect(self.listItemDoubleClick)
            layout.addWidget(self.listWidget)

        self.setLayout(layout)
示例#7
0
    def __init__(self, text="Enter object label", parent=None, listItem=None):
        super(LabelDialog, self).__init__(parent)
        self.resize(280, 300)

        self.edit = QLineEdit()
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())
        self.edit.editingFinished.connect(self.postProcess)
        self.edit.textChanged.connect(self.searchLabel)

        # print(parent.size())
        self.screen = QDesktopWidget().screenGeometry()
        # print(screen.width(), screen.height())

        model = QStringListModel()
        model.setStringList(listItem)
        completer = QCompleter()
        completer.setModel(model)
        self.edit.setCompleter(completer)
        completer.activated.connect(self.setFocus_OK)

        layout = QVBoxLayout()
        layout.addWidget(self.edit)
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.accepted.connect(self.validate)
        bb.rejected.connect(self.reject)
        layout.addWidget(bb)
        # self.resize(280, 300)

        if listItem is not None and len(listItem) > 0:
            self.listWidget = QListWidget(self)
            for item in listItem:
                self.listWidget.addItem(item)
            self.listWidget.itemClicked.connect(self.listItemClick)
            self.listWidget.itemDoubleClicked.connect(self.listItemDoubleClick)
            layout.addWidget(self.listWidget)

        self.setLayout(layout)
示例#8
0
    def __init__(self, text="Enter object label", parent=None, listItem=None):
        super(TemplateDialog, self).__init__(parent)
        self.listItem = listItem
        self.removeItems = []
        self.edit = QLineEdit()
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())
        self.edit.editingFinished.connect(self.postProcess)
        self.edit.setEnabled(False)
        self.edit.setFocusPolicy(Qt.NoFocus)

        model = QStringListModel()
        model.setStringList(listItem)
        completer = QCompleter()
        completer.setModel(model)
        self.edit.setCompleter(completer)

        layout = QVBoxLayout()
        layout.addWidget(self.edit)
        buttonDelete = QPushButton("&Delete")
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.addButton(buttonDelete, QDialogButtonBox.ActionRole)
        # bb.button(BB.Apply)
        buttonDelete.clicked.connect(self.delete)
        bb.accepted.connect(self.validate)
        bb.rejected.connect(self.reject)
        layout.addWidget(bb)

        if listItem is not None and len(listItem) > 0:
            self.listWidget = QListWidget(self)
            for item in listItem:
                self.listWidget.addItem(item)
            self.listWidget.itemClicked.connect(self.listItemClick)
            self.listWidget.itemDoubleClicked.connect(self.listItemDoubleClick)
            layout.addWidget(self.listWidget)

        self.setLayout(layout)
示例#9
0
    def __init__(self,
                 text="Enter object label",
                 text_numberOfObjects='Enter the number f objects',
                 parent=None,
                 listItem=None):
        super(LabelDialog, self).__init__(parent)
        self.edit_label = QLabel()
        self.edit_label.setText('Class:')
        self.edit = QLineEdit()
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())
        self.edit.editingFinished.connect(self.postProcess)
        layout = QVBoxLayout()
        layout.addWidget(self.edit_label)
        layout.addWidget(self.edit)
        self.edit_numberOfObjects_label = QLabel()
        self.edit_numberOfObjects_label.setText('The number Of Objects:')
        self.edit_numberOfObjects = QLineEdit()
        self.edit_numberOfObjects.setText(text_numberOfObjects)
        layout.addWidget(self.edit_numberOfObjects_label)
        layout.addWidget(self.edit_numberOfObjects)
        self.buttonBox = bb = BB(BB.Ok | BB.Cancel, Qt.Horizontal, self)
        bb.button(BB.Ok).setIcon(newIcon('done'))
        bb.button(BB.Cancel).setIcon(newIcon('undo'))
        bb.accepted.connect(self.validate)
        bb.rejected.connect(self.reject)
        layout.addWidget(bb)

        if listItem is not None and len(listItem) > 0:
            self.listWidget = QListWidget(self)
            for item in listItem:
                self.listWidget.addItem(item)
            self.listWidget.itemDoubleClicked.connect(self.listItemClick)
            layout.addWidget(self.listWidget)

        self.setLayout(layout)