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)
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)
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)
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)
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()
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)
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)