def key_press_event(event): """ checks for key presses and reacts accordingly """ if Qt.QKeySequence(event.key()).toString() in ALLOWED_KEYS: add_input_to_text(Qt.QKeySequence(event.key()).toString(), InputType.KEYBOARD) # Key_Return = "Normal" Enter, Key_Enter = NumPad Enter elif event.key() == Qt.Qt.Key_Return or event.key() == Qt.Qt.Key_Enter: evaluate(EVALUATE, InputType.KEYBOARD) elif event.key() == Qt.Qt.Key_Backspace: backspace(BACKSPACE, InputType.KEYBOARD)
def add_shortcut(key: int, handler: Callable[[], None], widget: Optional[Qt.QWidget] = None) -> None: if widget is None: widget = main_window() Qt.QShortcut(Qt.QKeySequence(key), widget).activated.connect(handler) # type: ignore
def loadControls(self) -> None: """Load widgets for this form.""" if self.pushButtonAcceptContinue: self.pushButtonAcceptContinue.hide() if self.pushButtonAccept: self.pushButtonAccept.hide() if self.pushButtonCancel: self.pushButtonCancel.hide() if self.pushButtonFirst: self.pushButtonFirst.hide() if self.pushButtonPrevious: self.pushButtonPrevious.hide() if self.pushButtonNext: self.pushButtonNext.hide() if self.pushButtonLast: self.pushButtonLast.hide() if self.bottomToolbar and self.toolButtonClose: self.toolButtonClose.hide() self.bottomToolbar = QtWidgets.QFrame() if self.bottomToolbar: self.bottomToolbar.setMinimumSize(self.iconSize) hblay = QtWidgets.QHBoxLayout() hblay.setContentsMargins(0, 0, 0, 0) hblay.setSpacing(0) hblay.addStretch() self.bottomToolbar.setLayout(hblay) self.bottomToolbar.setFocusPolicy(QtCore.Qt.NoFocus) self.layout_.addWidget(self.bottomToolbar) else: raise Exception("bottomToolbar is missing!") # if self.layout: # self.layout = None # Limpiamos la toolbar sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy(0), QtWidgets.QSizePolicy.Policy(0)) sizePolicy.setHeightForWidth(True) pbSize = self.iconSize if settings.config.value("application/isDebuggerMode", False): pushButtonExport = QtWidgets.QToolButton() pushButtonExport.setObjectName("pushButtonExport") pushButtonExport.setSizePolicy(sizePolicy) pushButtonExport.setMinimumSize(pbSize) pushButtonExport.setMaximumSize(pbSize) pushButtonExport.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-properties.png"))) pushButtonExport.setShortcut(Qt.QKeySequence(self.tr("F3"))) pushButtonExport.setWhatsThis("Exportar a XML(F3)") pushButtonExport.setToolTip("Exportar a XML(F3)") pushButtonExport.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(pushButtonExport) pushButtonExport.clicked.connect(self.exportToXml) if settings.config.value("ebcomportamiento/show_snaptshop_button", False): push_button_snapshot = QtWidgets.QToolButton() push_button_snapshot.setObjectName("pushButtonSnapshot") push_button_snapshot.setSizePolicy(sizePolicy) push_button_snapshot.setMinimumSize(pbSize) push_button_snapshot.setMaximumSize(pbSize) push_button_snapshot.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-paste.png"))) push_button_snapshot.setShortcut(Qt.QKeySequence( self.tr("F8"))) push_button_snapshot.setWhatsThis("Capturar pantalla(F8)") push_button_snapshot.setToolTip("Capturar pantalla(F8)") push_button_snapshot.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(push_button_snapshot) push_button_snapshot.clicked.connect(self.saveSnapShot) spacer = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) self.bottomToolbar.layout().addItem(spacer) if self.cursor().modeAccess() in (self.cursor().Edit, self.cursor().Browse): if not self.pushButtonFirst: self.pushButtonFirst = QtWidgets.QToolButton() self.pushButtonFirst.setObjectName("pushButtonFirst") self.pushButtonFirst.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-goto-first-ltr.png"))) self.pushButtonFirst.clicked.connect(self.firstRecord) self.pushButtonFirst.setSizePolicy(sizePolicy) self.pushButtonFirst.setMaximumSize(pbSize) self.pushButtonFirst.setMinimumSize(pbSize) self.pushButtonFirst.setShortcut(Qt.QKeySequence( self.tr("F5"))) self.pushButtonFirst.setWhatsThis( "Aceptar los cambios e ir al primer registro (F5)") self.pushButtonFirst.setToolTip( "Aceptar los cambios e ir al primer registro (F5)") self.pushButtonFirst.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(self.pushButtonFirst) # self.pushButtonFirst.show() if not self.pushButtonPrevious: self.pushButtonPrevious = QtWidgets.QToolButton() self.pushButtonPrevious.setObjectName("pushButtonPrevious") self.pushButtonPrevious.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-go-back-ltr.png"))) self.pushButtonPrevious.clicked.connect(self.previousRecord) self.pushButtonPrevious.setSizePolicy(sizePolicy) self.pushButtonPrevious.setMaximumSize(pbSize) self.pushButtonPrevious.setMinimumSize(pbSize) self.pushButtonPrevious.setShortcut( Qt.QKeySequence(self.tr("F6"))) self.pushButtonPrevious.setWhatsThis( "Aceptar los cambios e ir al registro anterior (F6)") self.pushButtonPrevious.setToolTip( "Aceptar los cambios e ir al registro anterior (F6)") self.pushButtonPrevious.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(self.pushButtonPrevious) # self.pushButtonPrevious.show() if not self.pushButtonNext: self.pushButtonNext = QtWidgets.QToolButton() self.pushButtonNext.setObjectName("pushButtonNext") self.pushButtonNext.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-go-back-rtl.png"))) self.pushButtonNext.clicked.connect(self.nextRecord) self.pushButtonNext.setSizePolicy(sizePolicy) self.pushButtonNext.setMaximumSize(pbSize) self.pushButtonNext.setMinimumSize(pbSize) self.pushButtonNext.setShortcut(Qt.QKeySequence(self.tr("F7"))) self.pushButtonNext.setWhatsThis( "Aceptar los cambios e ir al registro siguiente (F7)") self.pushButtonNext.setToolTip( "Aceptar los cambios e ir al registro siguiente (F7)") self.pushButtonNext.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(self.pushButtonNext) # self.pushButtonNext.show() if not self.pushButtonLast: self.pushButtonLast = QtWidgets.QToolButton() self.pushButtonLast.setObjectName("pushButtonLast") self.pushButtonLast.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-goto-last-ltr.png"))) self.pushButtonLast.clicked.connect(self.lastRecord) self.pushButtonLast.setSizePolicy(sizePolicy) self.pushButtonLast.setMaximumSize(pbSize) self.pushButtonLast.setMinimumSize(pbSize) self.pushButtonLast.setShortcut(Qt.QKeySequence(self.tr("F8"))) self.pushButtonLast.setWhatsThis( "Aceptar los cambios e ir al último registro (F8)") self.pushButtonLast.setToolTip( "Aceptar los cambios e ir al último registro (F8)") self.pushButtonLast.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(self.pushButtonLast) # self.pushButtonLast.show() if not self.cursor().modeAccess() == self.cursor().Browse: self.pushButtonAcceptContinue = QtWidgets.QToolButton() self.pushButtonAcceptContinue.setObjectName( "pushButtonAcceptContinue") self.pushButtonAcceptContinue.clicked.connect(self.acceptContinue) self.pushButtonAcceptContinue.setSizePolicy(sizePolicy) self.pushButtonAcceptContinue.setMaximumSize(pbSize) self.pushButtonAcceptContinue.setMinimumSize(pbSize) self.pushButtonAcceptContinue.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-refresh.png"))) self.pushButtonAcceptContinue.setShortcut( Qt.QKeySequence(self.tr("F9"))) self.pushButtonAcceptContinue.setWhatsThis( "Aceptar los cambios y continuar con la edición de un nuevo registro (F9)" ) self.pushButtonAcceptContinue.setToolTip( "Aceptar los cambios y continuar con la edición de un nuevo registro (F9)" ) self.pushButtonAcceptContinue.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget( self.pushButtonAcceptContinue) if not self.showAcceptContinue_: self.pushButtonAcceptContinue.close() # self.pushButtonAcceptContinue.show() if not self.pushButtonAccept: self.pushButtonAccept = QtWidgets.QToolButton() self.pushButtonAccept.setObjectName("pushButtonAccept") self.pushButtonAccept.clicked.connect(self.accept) self.pushButtonAccept.setSizePolicy(sizePolicy) self.pushButtonAccept.setMaximumSize(pbSize) self.pushButtonAccept.setMinimumSize(pbSize) self.pushButtonAccept.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-save.png"))) self.pushButtonAccept.setShortcut(Qt.QKeySequence(self.tr("F10"))) self.pushButtonAccept.setWhatsThis( "Aceptar los cambios y cerrar formulario (F10)") self.pushButtonAccept.setToolTip( "Aceptar los cambios y cerrar formulario (F10)") self.pushButtonAccept.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(self.pushButtonAccept) # self.pushButtonAccept.show() if not self.pushButtonCancel: self.pushButtonCancel = QtWidgets.QToolButton() self.pushButtonCancel.setObjectName("pushButtonCancel") try: self.cursor().autoCommit.connect(self.disablePushButtonCancel) except Exception: pass self.pushButtonCancel.clicked.connect(self.reject) self.pushButtonCancel.setSizePolicy(sizePolicy) self.pushButtonCancel.setMaximumSize(pbSize) self.pushButtonCancel.setMinimumSize(pbSize) self.pushButtonCancel.setShortcut(Qt.QKeySequence(self.tr("Esc"))) self.pushButtonCancel.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-stop.png"))) if not self.cursor().modeAccess() == self.cursor().Browse: self.pushButtonCancel.setFocusPolicy(QtCore.Qt.NoFocus) self.pushButtonCancel.setWhatsThis( "Cancelar los cambios y cerrar formulario (Esc)") self.pushButtonCancel.setToolTip( "Cancelar los cambios y cerrar formulario (Esc)") else: self.pushButtonCancel.setFocusPolicy(QtCore.Qt.StrongFocus) self.pushButtonCancel.setFocus() # pushButtonCancel->setAccel(4096); FIXME self.pushButtonCancel.setWhatsThis( "Aceptar y cerrar formulario (Esc)") self.pushButtonCancel.setToolTip( "Aceptar y cerrar formulario (Esc)") # pushButtonCancel->setDefault(true); self.bottomToolbar.layout().addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)) self.bottomToolbar.layout().addWidget(self.pushButtonCancel) # self.pushButtonAccept.show() self.setFocusPolicy(QtCore.Qt.NoFocus) # self.toolButtonAccept = QtGui.QToolButton() # self.toolButtonAccept.setIcon(QtGui.QIcon(utils_base.filedir("./core/images/icons","gtk-add.png"))) # self.toolButtonAccept.clicked.connect(self.validateForm) # self.bottomToolbar.layout.addWidget(self.toolButtonAccept) self.inicializeControls()
def _init_ui(self): # log setup TODO: define None Value - distinguish from empty os.makedirs(self.log_dir, exist_ok=True) self.cur_log_path = os.path.join(self.log_dir, self.dataset_name) self.tags = ['model err', 'model diff', 'label err'] if os.path.isfile(self.cur_log_path): self.log_file = pd.read_csv( self.cur_log_path, index_col=['file', 'data'], ) log_file_index = self.log_file.index.get_level_values('file') new_file = [] for f in self.data_files: if f not in log_file_index: new_file.append(f) if new_file: # append index for new file into logs file_df = pd.DataFrame(index=pd.Index([(f, 0) for f in new_file], name=['file', 'data']), columns=self.tags) self.log_file = pd.concat([self.log_file, file_df], copy=False).sort_index() assert all(self.log_file.columns == self.tags) else: self.log_file = pd.DataFrame(index=pd.Index( [(f, 0) for f in self.data_files], name=['file', 'data']), columns=self.tags) self.need_to_save = False # window config self.setWindowTitle('Model Viewer') self.setToolButtonStyle(qtc.Qt.ToolButtonTextUnderIcon) # icon style self.setWindowFlags(self.windowFlags() | qtc.Qt.WindowSystemMenuHint | qtc.Qt.WindowMinMaxButtonsHint) # save log - action save_log = qtwg.QAction('save log', self) save_log.setStatusTip('save log') save_log.setShortcuts(Qt.QKeySequence('Ctrl+S')) save_log.setShortcutContext(qtc.Qt.ApplicationShortcut) save_log.triggered.connect(self._save_log) # next/last - action next_example = qtwg.QAction('next', self) next_example.setStatusTip('next example') next_example.setShortcuts(Qt.QKeySequence('Alt+Right')) next_example.setShortcutContext(qtc.Qt.ApplicationShortcut) next_example.triggered.connect( lambda: self._show_example(self.file_idx, self.data_idx + 1)) last_example = qtwg.QAction('last_example', self) last_example.setStatusTip('last example') last_example.setShortcuts(Qt.QKeySequence('Alt+Left')) last_example.setShortcutContext(qtc.Qt.ApplicationShortcut) last_example.triggered.connect( lambda: self._show_example(self.file_idx, self.data_idx - 1)) # refresh all - action refresh = qtwg.QAction('refresh', self) refresh.setStatusTip('refresh to begining') refresh.triggered.connect(self._refresh) # current & all data files - combo combo = qtwg.QComboBox() combo.addItems(self.data_files) combo.setEditable(False) self.path_widget = combo combo.currentIndexChanged.connect( lambda i: self._show_example(file_idx=i, data_idx=0)) # current & all data in the current file - combo combo = qtwg.QComboBox() combo.setEditable(False) self.data_widget = combo # no data before file loaded combo.currentIndexChanged.connect( lambda i: self._show_example(file_idx=self.file_idx, data_idx=i)) # play examples set-up play_examples = qtwg.QAction('play', self) play_examples.setStatusTip('play through all examples as auto-ppt') play_examples.triggered.connect(self._play_all_examples) self.timer = qtc.QTimer() self.timer.timeout.connect(lambda: self._show_example( file_idx=self.file_idx, data_idx=self.data_idx + 1)) self.timer_step = 1 * 1000 self.play_widget = play_examples play_setting = qtwg.QLineEdit() play_setting.setFixedWidth(40) play_setting.setMaxLength(6) play_setting.setPlaceholderText('1s') play_setting.textChanged.connect(self._set_timer_step) # tagging cur example - line self.tag_widget = {} for cur_t in self.tags: line = qtwg.QLineEdit() line.setFixedWidth(100) line.setClearButtonEnabled(True) self.tag_widget[cur_t] = line # config toolbar, statusbar toolbar = qtwg.QToolBar("My main toolbar") toolbar.addAction(last_example) toolbar.addAction(next_example) toolbar.addWidget(qtwg.QLabel(self.dataset_dir)) toolbar.addWidget(self.path_widget) toolbar.addWidget(self.data_widget) toolbar.addAction(play_examples) toolbar.addWidget(play_setting) toolbar.addAction(refresh) toolbar.addSeparator() # separate function zone for cur_t, t_wg in self.tag_widget.items(): toolbar.addWidget(qtwg.QLabel(cur_t + ':')) toolbar.addWidget(t_wg) toolbar.addAction(save_log) self.addToolBar(toolbar) self.setStatusBar(Qt.QStatusBar(self)) # layout framework layout_main = qtwg.QHBoxLayout() # image - image label img_label = qtwg.QLabel('image') img_label.setScaledContents(True) img_label.setPixmap(qtui.QPixmap()) layout_main.addWidget(img_label) self.img_widget = img_label # input/label - matlibplot widget label_layout = qtwg.QVBoxLayout() feature_names = ' '.join(self.feeder.feature_names) label_metaline = qtwg.QLabel(feature_names) label_metaline.setWordWrap(True) label_metaline.setAlignment(qtc.Qt.AlignCenter) label_widget = Matlibplot_Widget('input') label_layout.addWidget(label_metaline) label_layout.addWidget(label_widget) layout_main.addLayout(label_layout) self.label_widget = label_widget # prediction - tab pred_tab = qtwg.QTabWidget() pred_tab.setDocumentMode(True) pred_tab.setTabPosition(Qt.QTabWidget.North) pred_tab.setMovable(True) layout_main.addWidget(pred_tab) self.pred_widget = pred_tab # set layout to central widget central_widget = qtwg.QWidget() central_widget.setLayout(layout_main) self.setCentralWidget(central_widget) self._load_file(0) self._fill_layout()
def __init__(self, window_name, options, parent=None): QtGui.QMainWindow.__init__(self, parent) # give Ctrl+C back to system signal.signal(signal.SIGINT, signal.SIG_DFL) self.gui = uic.loadUi( os.path.join(os.path.dirname(__file__), 'main_window.ui'), self) self.update_timer = Qt.QTimer() # socket addresses rpc_adr_server = "tcp://" + options.servername + ":6666" rpc_adr_client = "tcp://" + options.clientname + ":6667" probe_adr_server = "tcp://" + options.servername + ":5556" probe_adr_client = "tcp://" + options.clientname + ":5557" # ZeroMQ self.probe_manager = zeromq.probe_manager() self.probe_manager.add_socket(probe_adr_server, 'float32', self.plot_data_server) self.probe_manager.add_socket(probe_adr_client, 'float32', self.plot_data_client) self.rpc_mgr_server = zeromq.rpc_manager() self.rpc_mgr_server.set_request_socket(rpc_adr_server) self.rpc_mgr_client = zeromq.rpc_manager() self.rpc_mgr_client.set_request_socket(rpc_adr_client) self.gui.setWindowTitle(window_name) self.gui.qwtPlotServer.setTitle("Signal Scope") self.gui.qwtPlotServer.setAxisTitle(Qwt.QwtPlot.xBottom, "Samples") self.gui.qwtPlotServer.setAxisTitle(Qwt.QwtPlot.yLeft, "Amplitude") self.gui.qwtPlotServer.setAxisScale(Qwt.QwtPlot.xBottom, 0, 100) self.gui.qwtPlotServer.setAxisScale(Qwt.QwtPlot.yLeft, -2, 2) self.gui.qwtPlotClient.setTitle("Signal Scope") self.gui.qwtPlotClient.setAxisTitle(Qwt.QwtPlot.xBottom, "Samples") self.gui.qwtPlotClient.setAxisTitle(Qwt.QwtPlot.yLeft, "Amplitude") self.gui.qwtPlotClient.setAxisScale(Qwt.QwtPlot.xBottom, 0, 100) self.gui.qwtPlotClient.setAxisScale(Qwt.QwtPlot.yLeft, -2, 2) # Grid pen = Qt.QPen(Qt.Qt.DotLine) pen.setColor(Qt.Qt.black) pen.setWidth(0) grid_server = Qwt.QwtPlotGrid() grid_client = Qwt.QwtPlotGrid() grid_server.setPen(pen) grid_client.setPen(pen) grid_server.attach(self.gui.qwtPlotServer) grid_client.attach(self.gui.qwtPlotClient) #Signals self.connect(self.update_timer, QtCore.SIGNAL("timeout()"), self.probe_manager.watcher) self.connect(self.gui.pushButtonRunServer, QtCore.SIGNAL("clicked()"), self.start_fg_server) self.connect(self.gui.pushButtonStopServer, QtCore.SIGNAL("clicked()"), self.stop_fg_server) self.connect(self.gui.pushButtonRunClient, QtCore.SIGNAL("clicked()"), self.start_fg_client) self.connect(self.gui.pushButtonStopClient, QtCore.SIGNAL("clicked()"), self.stop_fg_client) self.connect(self.gui.comboBox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.set_waveform) self.connect(self.gui.spinBox, QtCore.SIGNAL("valueChanged(int)"), self.set_gain) self.shortcut_start = QtGui.QShortcut(Qt.QKeySequence("Ctrl+S"), self.gui) self.shortcut_stop = QtGui.QShortcut(Qt.QKeySequence("Ctrl+C"), self.gui) self.shortcut_exit = QtGui.QShortcut(Qt.QKeySequence("Ctrl+D"), self.gui) self.connect(self.shortcut_exit, QtCore.SIGNAL("activated()"), self.gui.close) # start update timer self.update_timer.start(30)
def loadControls(self) -> None: """Load form controls.""" self.bottomToolbar = QtWidgets.QFrame() if self.bottomToolbar: self.bottomToolbar.setMaximumHeight(64) self.bottomToolbar.setMinimumHeight(16) hblay = QtWidgets.QHBoxLayout() hblay.setContentsMargins(0, 0, 0, 0) hblay.setSpacing(0) hblay.addStretch() self.bottomToolbar.setLayout(hblay) self.bottomToolbar.setFocusPolicy(QtCore.Qt.NoFocus) self.layout_.addWidget(self.bottomToolbar) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy(0), QtWidgets.QSizePolicy.Policy(0)) sizePolicy.setHeightForWidth(True) pbSize = self.iconSize if settings.config.value("application/isDebuggerMode", False): pushButtonExport = QtWidgets.QToolButton(self) pushButtonExport.setObjectName("pushButtonExport") pushButtonExport.setSizePolicy(sizePolicy) pushButtonExport.setMinimumSize(pbSize) pushButtonExport.setMaximumSize(pbSize) pushButtonExport.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-properties.png"))) pushButtonExport.setShortcut(Qt.QKeySequence(self.tr("F3"))) pushButtonExport.setWhatsThis("Exportar a XML(F3)") pushButtonExport.setToolTip("Exportar a XML(F3)") pushButtonExport.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(pushButtonExport) pushButtonExport.clicked.connect(self.exportToXml) if settings.config.value("ebcomportamiento/show_snaptshop_button", False): push_button_snapshot = QtWidgets.QToolButton(self) push_button_snapshot.setObjectName("pushButtonSnapshot") push_button_snapshot.setSizePolicy(sizePolicy) push_button_snapshot.setMinimumSize(pbSize) push_button_snapshot.setMaximumSize(pbSize) push_button_snapshot.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-paste.png"))) push_button_snapshot.setShortcut(Qt.QKeySequence( self.tr("F8"))) push_button_snapshot.setWhatsThis("Capturar pantalla(F8)") push_button_snapshot.setToolTip("Capturar pantalla(F8)") push_button_snapshot.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(push_button_snapshot) push_button_snapshot.clicked.connect(self.saveSnapShot) spacer = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) self.bottomToolbar.layout().addItem(spacer) if not self.pushButtonAccept: self.pushButtonAccept = QtWidgets.QToolButton(self) self.pushButtonAccept.setObjectName("pushButtonAccept") self.pushButtonAccept.clicked.connect(self.accept) self.pushButtonAccept.setSizePolicy(sizePolicy) self.pushButtonAccept.setMaximumSize(pbSize) self.pushButtonAccept.setMinimumSize(pbSize) self.pushButtonAccept.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-save.png"))) # pushButtonAccept->setAccel(Qt.QKeySequence(Qt::Key_F10)); FIXME self.pushButtonAccept.setFocus() self.pushButtonAccept.setWhatsThis( "Seleccionar registro actual y cerrar formulario (F10)") self.pushButtonAccept.setToolTip( "Seleccionar registro actual y cerrar formulario (F10)") self.pushButtonAccept.setFocusPolicy(QtCore.Qt.NoFocus) self.bottomToolbar.layout().addWidget(self.pushButtonAccept) self.pushButtonAccept.show() if not self.pushButtonCancel: self.pushButtonCancel = QtWidgets.QToolButton(self) self.pushButtonCancel.setObjectName("pushButtonCancel") self.pushButtonCancel.clicked.connect(self.reject) self.pushButtonCancel.setSizePolicy(sizePolicy) self.pushButtonCancel.setMaximumSize(pbSize) self.pushButtonCancel.setMinimumSize(pbSize) self.pushButtonCancel.setIcon( QtGui.QIcon( utils_base.filedir("./core/images/icons", "gtk-stop.png"))) self.pushButtonCancel.setFocusPolicy(QtCore.Qt.NoFocus) # pushButtonCancel->setAccel(Esc); FIXME self.pushButtonCancel.setWhatsThis( "Cerrar formulario sin seleccionar registro (Esc)") self.pushButtonCancel.setToolTip( "Cerrar formulario sin seleccionar registro (Esc)") self.bottomToolbar.layout().addWidget(self.pushButtonCancel) self.pushButtonCancel.show() if self.cursor_ is None: raise Exception("Cursor is empty!.") self.cursor_.setEdition(False) self.cursor_.setBrowse(False) self.cursor_.recordChoosed.connect(self.accept)