Пример #1
0
    def __init__(self, text="Enter object label", parent=None, predefined_classes=[]):
        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)

        # Martin Kersner, 2015/10/13
        if predefined_classes:
            self.edit.setDisabled(True)
            widget = QWidget(self)
            letter_group = QButtonGroup(widget)
            radio_button = []
            for label, label_idx in zip(predefined_classes, range(len(predefined_classes))):
                radio_button.append(QRadioButton(label))
                radio_button[label_idx].clicked.connect(self.changeClass)
                layout.addWidget(radio_button[label_idx])

        layout.addWidget(bb)
        self.setLayout(layout)
    def __init__(self, text="Enter object label", parent=None):
        super(LabelDialog, self).__init__(parent)
        self.edit = QLineEdit()
        self.edit.setText(text)
        self.edit.setValidator(labelValidator())
        self.edit.editingFinished.connect(self.postProcess)
        self.edit.setFixedWidth(600)
        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.writeTypes = QGroupBox(self)
        # self.writeTypes.setExclusive(True)
        self.hwr = QRadioButton("&Handwritten")
        self.prn = QRadioButton("&Printed")
        self.mix = QRadioButton("&Mixed")

        # self.writeTypes.addButton(hwr)
        # self.writeTypes.addButton(prn)
        # self.writeTypes.addButton(mix)
        # layout.addWidget(self.writeTypes)

        layout.addWidget(self.hwr)
        layout.addWidget(self.prn)
        layout.addWidget(self.mix)
        # vbox.addStretch(100)
        # self.writeTypes.setLayout(vbox)

        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)
        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.listItem = listItem[:]

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

            # add a shortcut to choose the first label
            action = partial(newAction, self)
            choose1 = action('@Choose label', self.choose, ' ', None,
                             u'Choose label')
            addActions(self.listWidget, (choose1, ))

        self.setLayout(layout)
Пример #4
0
 def __init__(self, text="Enter object label", parent=None):
     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)
     self.setLayout(layout)
Пример #5
0
 def __init__(self, text="Enter object label", parent=None):
     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)
     self.setLayout(layout)
Пример #6
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())
     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)
Пример #7
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())
     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)
Пример #8
0
 def __init__(self, text="Enter object label", parent=None):
     super(LabelDialog, self).__init__(parent)
     layout = QVBoxLayout()
     self.combo = QComboBox()
     self.combo.setEditable(True)
     self.combo.setAutoCompletion(True)
     self.combo.setValidator(labelValidator())
     self.labelCandidates = []
     for text in open('label_list.txt', 'r').readlines():
         t = text.strip()
         if t != '':
             self.combo.addItem(t)
             self.labelCandidates.append(t)
     layout.addWidget(self.combo)
     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)
Пример #9
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)
        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)
Пример #10
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)
        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)
Пример #11
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.desc = QLineEdit()
        #Use the below to support multi-line captions/descriptions
        #Show description textbox invisbily st can be dynamically resized
        #self.desc = QTextEdit()
        #self.desc.setAttribute(103)
        #self.desc.show()
        #self.set_desc_height()
        #self.desc.setValidator(labelValidator())
        #self.desc.textChanged.connect(self.set_desc_height)

        layout = QVBoxLayout()
        layout.addWidget(QLabel('Label:'))
        layout.addWidget(self.edit)
        layout.addWidget(QLabel('Description:'))
        layout.addWidget(self.desc)
        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)