示例#1
0
    def __init__(self, master):
        """Initialize the attributes and set up the interface"""
        QDialog.__init__(self, windowTitle=self.captionTitle)
        WidgetMessagesMixin.__init__(self)
        self.setLayout(QVBoxLayout())

        self.insert_message_bar()
        self.layout().insertWidget(0, self.message_bar)
        self.master = master

        self.keep_running = False
        self.saved_state = None
        self.saved_progress = 0
        self.scores = []

        self.rank_model = QStandardItemModel(self)
        self.rank_table = view = QTableView(
            selectionBehavior=QTableView.SelectRows,
            selectionMode=QTableView.SingleSelection,
            showGrid=False)
        view.setItemDelegate(HorizontalGridDelegate())
        view.setModel(self.rank_model)
        view.selectionModel().selectionChanged.connect(
            self.on_selection_changed)
        view.horizontalHeader().setStretchLastSection(True)
        view.horizontalHeader().hide()
        self.layout().addWidget(view)

        self.button = gui.button(self,
                                 self,
                                 "Start",
                                 callback=self.toggle,
                                 default=True)
示例#2
0
    def __init__(self, widget):
        super().__init__()
        widget.settingsHandler.initialize(self)
        widget.contextAboutToBeOpened.connect(
            lambda args: self.set_domain(args[0]))
        widget.contextOpened.connect(
            lambda: self.model().set_variables(self.variables))
        widget.contextClosed.connect(lambda: self.model().set_variables([]))

        self.setModel(VarTableModel(self.variables))
        self.setSelectionMode(QTableView.NoSelection)
        self.horizontalHeader().setStretchLastSection(True)
        self.setShowGrid(False)
        self.setEditTriggers(QTableView.SelectedClicked
                             | QTableView.DoubleClicked)
        self.setSizePolicy(QSizePolicy.MinimumExpanding,
                           QSizePolicy.MinimumExpanding)
        # setItemDelegate(ForColumn) apparently does not take ownership
        # of delegates, and coredumps if a a references is not stored somewhere.
        # We thus store delegates as attributes
        self.grid_delegate = HorizontalGridDelegate()
        self.setItemDelegate(self.grid_delegate)
        self.vartype_delegate = VarTypeDelegate(self, VarTableModel.typenames)
        self.setItemDelegateForColumn(Column.tpe, self.vartype_delegate)
        self.place_delegate = PlaceDelegate(self, VarTableModel.places)
        self.setItemDelegateForColumn(Column.place, self.place_delegate)
示例#3
0
    def __init__(self, widget, input_dict, ouput_dict):
        super().__init__()
        # widget.settingsHandler.initialize(self)
        # widget.contextAboutToBeOpened.connect(lambda args: self.set_domain(args[0]))
        # widget.contextOpened.connect(lambda: self.model().set_variables(self.variables))
        # widget.contextClosed.connect(lambda: self.model().set_variables([]))

        # 设置表格数据模型
        emodel = ExperienceModel(self.variables, input_dict, ouput_dict, self)
        self.setModel(emodel)

        # 设置表格样式
        self.setSelectionMode(QTableView.NoSelection)
        self.horizontalHeader().setStretchLastSection(True)
        self.setShowGrid(True)
        self.setEditTriggers(QTableView.SelectedClicked
                             | QTableView.DoubleClicked)
        self.setSizePolicy(QSizePolicy.MinimumExpanding,
                           QSizePolicy.MinimumExpanding)

        # 设置表格数据编辑代理
        self.grid_delegate = HorizontalGridDelegate()
        self.setItemDelegate(self.grid_delegate)

        # 下拉菜单代理
        self.input_delegate = InputDataDelegate(self, emodel.input_dict)
        self.setItemDelegateForColumn(Column.input_data, self.input_delegate)
        self.output_delegate = OutputDataDelegate(self, emodel.ouput_dict)
        self.setItemDelegateForColumn(Column.ouput_data, self.output_delegate)
        self.relation_delegate = RelationDelegate(self, emodel.relation_dict)
        self.setItemDelegateForColumn(Column.relation, self.relation_delegate)
示例#4
0
 def __init__(self, model):
     QTableView.__init__(self)
     self.horizontalHeader().hide()
     self.verticalHeader().hide()
     self.setShowGrid(False)
     self.setSelectionMode(QTableView.NoSelection)
     self.setItemDelegate(HorizontalGridDelegate())
     self.setModel(model)
示例#5
0
文件: owcolor.py 项目: zyblx/orange3
 def __init__(self, model):
     QTableView.__init__(self)
     self.horizontalHeader().hide()
     self.verticalHeader().hide()
     self.setShowGrid(False)
     self.setSelectionMode(QTableView.NoSelection)
     self.setModel(model)
     # View doesn't take ownership of delegates, so we store it here
     self.grid_delegate = HorizontalGridDelegate()
示例#6
0
    def __init__(self, master):
        """Initialize the attributes and set up the interface"""
        QDialog.__init__(self, master, windowTitle=self.captionTitle)
        WidgetMessagesMixin.__init__(self)
        self.setLayout(QVBoxLayout())

        self.insert_message_bar()
        self.layout().insertWidget(0, self.message_bar)
        self.master = master

        self.keep_running = False
        self.scheduled_call = None
        self.saved_state = None
        self.saved_progress = 0
        self.scores = []
        self.add_to_model = queue.Queue()

        self.update_timer = QTimer(self)
        self.update_timer.timeout.connect(self._update)
        self.update_timer.setInterval(200)

        self._thread = None
        self._worker = None

        self.filter = QLineEdit()
        self.filter.setPlaceholderText("Filter ...")
        self.filter.textChanged.connect(self.filter_changed)
        self.layout().addWidget(self.filter)
        # Remove focus from line edit
        self.setFocus(Qt.ActiveWindowFocusReason)

        self.rank_model = QStandardItemModel(self)
        self.model_proxy = QSortFilterProxyModel(self,
                                                 filterCaseSensitivity=False)
        self.model_proxy.setSourceModel(self.rank_model)
        self.rank_table = view = QTableView(
            selectionBehavior=QTableView.SelectRows,
            selectionMode=QTableView.SingleSelection,
            showGrid=False,
            editTriggers=gui.TableView.NoEditTriggers)
        if self._has_bars:
            view.setItemDelegate(TableBarItem())
        else:
            view.setItemDelegate(HorizontalGridDelegate())
        view.setModel(self.model_proxy)
        view.selectionModel().selectionChanged.connect(
            self.on_selection_changed)
        view.horizontalHeader().setStretchLastSection(True)
        view.horizontalHeader().hide()
        self.layout().addWidget(view)

        self.button = gui.button(self,
                                 self,
                                 "Start",
                                 callback=self.toggle,
                                 default=True)
示例#7
0
 def __init__(self, variables):
     super().__init__()
     self.setModel(VarTableModel(variables))
     self.setSelectionMode(QTableView.NoSelection)
     self.horizontalHeader().hide()
     self.horizontalHeader().setStretchLastSection(True)
     self.setShowGrid(False)
     self.setEditTriggers(QTableView.SelectedClicked
                          | QTableView.DoubleClicked)
     self.setSizePolicy(QSizePolicy.MinimumExpanding,
                        QSizePolicy.MinimumExpanding)
     # setItemDelegate(ForColumn) apparently does not take ownership
     # of delegates, and coredumps if a a references is not stored somewhere.
     # We thus store delegates as attributes
     self.grid_delegate = HorizontalGridDelegate()
     self.setItemDelegate(self.grid_delegate)
     self.vartype_delegate = VarTypeDelegate(self, VarTableModel.typenames)
     self.setItemDelegateForColumn(Column.tpe, self.vartype_delegate)
     self.place_delegate = PlaceDelegate(self, VarTableModel.places)
     self.setItemDelegateForColumn(Column.place, self.place_delegate)