def update_all(self, clear_canvases=False): # If there are no images loaded, skip the request if not HexrdConfig().has_images(): return prev_blocked = self.calibration_config_widget.block_all_signals() # Need to clear focus from current widget if enter is pressed or # else all clicks are emit an editingFinished signal and view is # constantly re-rendered if QApplication.focusWidget() is not None: QApplication.focusWidget().clearFocus() if clear_canvases: for canvas in self.ui.image_tab_widget.image_canvases: canvas.clear() if self.image_mode == ViewType.cartesian: self.ui.image_tab_widget.show_cartesian() elif self.image_mode == ViewType.polar: # Rebuild polar masks del HexrdConfig().polar_masks[:] for line_data in HexrdConfig().polar_masks_line_data: create_polar_mask(line_data) self.ui.image_tab_widget.show_polar() else: self.ui.image_tab_widget.load_images() # Only ask if have haven't asked before if HexrdConfig().workflow is None: self.workflow_selection_dialog.show() self.calibration_config_widget.unblock_all_signals(prev_blocked)
def update_all(self, clear_canvases=False): # If there are no images loaded, skip the request if not HexrdConfig().has_images(): return prev_blocked = self.calibration_config_widget.block_all_signals() # Need to clear focus from current widget if enter is pressed or # else all clicks are emit an editingFinished signal and view is # constantly re-rendered if QApplication.focusWidget() is not None: QApplication.focusWidget().clearFocus() if clear_canvases: for canvas in self.ui.image_tab_widget.image_canvases: canvas.clear() if self.image_mode == 'cartesian': self.ui.image_tab_widget.show_cartesian() elif self.image_mode == 'polar': self.ui.image_tab_widget.show_polar() else: self.ui.image_tab_widget.load_images() self.calibration_config_widget.unblock_all_signals(prev_blocked)
def update_all(self, clear_canvases=False): # If there are no images loaded, skip the request if not HexrdConfig().has_images(): return prev_blocked = self.calibration_config_widget.block_all_signals() # Need to clear focus from current widget if enter is pressed or # else all clicks are emit an editingFinished signal and view is # constantly re-rendered if QApplication.focusWidget() is not None: QApplication.focusWidget().clearFocus() if clear_canvases: for canvas in self.ui.image_tab_widget.image_canvases: canvas.clear() if self.image_mode == ViewType.cartesian: self.ui.image_tab_widget.show_cartesian() elif self.image_mode == ViewType.polar: # Rebuild polar masks HexrdConfig().polar_masks.clear() for name, line_data in HexrdConfig().polar_masks_line_data.items(): if not isinstance(line_data, list): line_data = [line_data] create_polar_mask(line_data, name) for name, value in HexrdConfig().raw_masks_line_data.items(): det, data = value[0] line_data = convert_raw_to_polar(det, data) create_polar_mask(line_data, name) self.ui.image_tab_widget.show_polar() else: # Rebuild raw masks HexrdConfig().raw_masks.clear() for name, line_data in HexrdConfig().raw_masks_line_data.items(): create_raw_mask(name, line_data) for name, data in HexrdConfig().polar_masks_line_data.items(): if isinstance(data, list): # These are Laue spots continue else: line_data = convert_polar_to_raw(data) create_raw_mask(name, line_data) self.ui.image_tab_widget.load_images() # Only ask if have haven't asked before if HexrdConfig().workflow is None: self.workflow_selection_dialog.show() self.calibration_config_widget.unblock_all_signals(prev_blocked)
def mousePressEvent(self, event): focused_widget = QApplication.focusWidget() if isinstance(focused_widget, QLineEdit): focused_widget.clearFocus() QWidget.mousePressEvent(self, event) if self.__deleteMode: i = 0 for line in self.__lines: # Getting the line equation slope = (line[0].y() + line[0].parentWidget().y() - line[1].y() - line[1].parentWidget().y() ) / float(line[0].x() + line[0].parentWidget().x() - line[1].x() - line[1].parentWidget().x()) point_slope = line[0].y() + line[0].parentWidget().y( ) + 20 - slope * (line[0].x() + line[0].parentWidget().x() + 20) # Checking if the coordinates of the mouse click are on the line if event.pos().y() < int( slope * event.pos().x() + point_slope + 3) and event.pos().y() > int(slope * event.pos().x() + point_slope - 3): # Delete the line here self.__lines[i][0].setConnected(False) self.__lines[i][1].setConnected(False) self.__lines.remove(line) i = i + 1
def mousePressEvent(self, event): #鼠标左键按下 currentItem = QApplication.focusWidget() # 根据当前点击的坐标获取子控件 child = self.childAt(event.pos()) # if not self.renyuanxinxi_Q.geometry().contains(self.underMouse()): # # print(child.objectName()) # # # # currentItem.clearFocus() if not self.renyuanxinxi_Q.hasFocus() or \ event.pos() != self.renyuanxinxi_Q.visibleRegion(): self.renyuanxinxi_Q.hide() print(child.objectName()) if not self.renyuanxinxi_J.hasFocus(): self.renyuanxinxi_J.hide() else: pass return False
def eventFilter(self, obj, event): if event.type() == QEvent.KeyPress: #print(obj) if event.key() == 49: self.ui.main_tab.setCurrentIndex(1) self.ui.stat_tab.setFocus() #self.ui.hp_head.setValue(self.random.bounded(50, 100)) #self.ui.hp_left_arm.setValue(self.random.bounded(50, 100)) #self.ui.hp_right_arm.setValue(self.random.bounded(50, 100)) #self.ui.hp_left_leg.setValue(self.random.bounded(50, 100)) #self.ui.hp_right_leg.setValue(self.random.bounded(50, 100)) #self.ui.hp_body.setValue(self.random.bounded(50, 100)) return True elif event.key() == 50: self.ui.main_tab.setCurrentIndex(2) self.ui.inv_tab.setFocus() return True elif event.key() == 51: self.ui.main_tab.setCurrentIndex(3) self.ui.data_list.setFocus() self.ui.data_list.setCurrentRow(0) return True elif event.key() == 52: self.ui.main_tab.setCurrentIndex(4) return True elif event.key() == 53: self.ui.main_tab.setCurrentIndex(5) self.ui.radio_list.setFocus() self.ui.radio_list.setCurrentRow(0) return True elif event.key() == 54: print(QApplication.focusWidget()) return True #focus from stat_tab to special_list elif (obj == self.ui.stat_tab) and (self.ui.stat_tab.currentIndex() == 1) and (event.key() == 47): self.ui.special_list.setFocus() self.ui.special_list.setCurrentRow(0) self.ui.special_image.setPixmap(description.pixmapDict.get(0)) self.ui.special_description.setText( description.specialDescriptionDict.get(0)) return True # elif (obj == self.ui.special_list) and (event.key() == 16777236): self.ui.special_list.setCurrentRow( self.ui.special_list.currentRow() + 1) if (self.ui.special_list.currentRow() == -1): self.ui.special_list.setCurrentRow(0) self.ui.special_list.scrollToItem( self.ui.special_list.currentItem()) self.ui.special_image.setPixmap( description.pixmapDict.get( self.ui.special_list.currentRow())) self.ui.special_description.setText( description.specialDescriptionDict.get( self.ui.special_list.currentRow())) elif (obj == self.ui.special_list) and (event.key() == 16777234): self.ui.special_list.setCurrentRow( self.ui.special_list.currentRow() - 1) if (self.ui.special_list.currentRow() == -1): self.ui.special_list.setCurrentRow(0) self.ui.special_list.scrollToItem( self.ui.special_list.currentItem()) self.ui.special_image.setPixmap( description.pixmapDict.get( self.ui.special_list.currentRow())) self.ui.special_description.setText( description.specialDescriptionDict.get( self.ui.special_list.currentRow())) #focus from special_list to stat_tab elif (obj == self.ui.special_list) and (event.key() == 47): self.ui.special_list.setCurrentRow(-1) self.ui.stat_tab.setFocus() return True # focus from stat_tab to perks_list elif (obj == self.ui.stat_tab) and (self.ui.stat_tab.currentIndex() == 2) and (event.key() == 47): self.ui.perks_list.setFocus() self.ui.perks_list.setCurrentRow(0) self.anim.setCurrentTime(0) self.anim.start() elif (obj == self.ui.perks_list) and (event.key() == 16777236): self.ui.perks_list.setCurrentRow( self.ui.perks_list.currentRow() + 1) if (self.ui.perks_list.currentRow() == -1): self.ui.perks_list.setCurrentRow(0) self.ui.perks_list.scrollToItem( self.ui.perks_list.currentItem()) self.ui.perks_image.setPixmap( description.pixmatPerksDict.get( self.ui.perks_list.currentRow())) self.ui.perks_description.setText( description.perksDescriptionDict.get( self.ui.perks_list.currentRow())) self.anim.stop() self.anim.setCurrentTime(0) self.anim.start() elif (obj == self.ui.perks_list) and (event.key() == 16777234): self.ui.perks_list.setCurrentRow( self.ui.perks_list.currentRow() - 1) if (self.ui.perks_list.currentRow() == -1): self.ui.perks_list.setCurrentRow(0) self.ui.perks_list.scrollToItem( self.ui.perks_list.currentItem()) self.ui.perks_image.setPixmap( description.pixmatPerksDict.get( self.ui.perks_list.currentRow())) self.ui.perks_description.setText( description.perksDescriptionDict.get( self.ui.perks_list.currentRow())) self.anim.stop() self.anim.setCurrentTime(0) self.anim.start() #focus from perks_list to stat_tab elif (obj == self.ui.perks_list) and (event.key() == 47): self.ui.perks_list.setCurrentRow(-1) self.ui.stat_tab.setFocus() self.anim.stop() return True #/------------------------------------------------INV-WEAPON--------------------------------------------------/ elif (obj == self.ui.inv_tab) and (self.ui.inv_tab.currentIndex() == 0) and (event.key() == 47): self.ui.test_list.setFocus() self.ui.test_list.setCurrentRow(0) return True elif (obj == self.ui.test_list) and (event.key() == 47): self.ui.test_list.setCurrentRow(-1) self.ui.inv_tab.setFocus() return True elif (obj == self.ui.test_list) and (event.key() == 16777236): self.ui.test_list.setCurrentRow( self.ui.test_list.currentRow() + 1) if (self.ui.test_list.currentRow() == -1): self.ui.test_list.setCurrentRow(0) self.ui.test_list.scrollToItem(self.ui.test_list.currentItem()) self.ui.weapon_image.setPixmap( description.pixmapWeaponDict.get( self.ui.test_list.currentRow())) self.ui.w_damage_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[0]) self.ui.w_weight_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[1]) self.ui.w_cost_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[2]) self.ui.w_durability_PB.setValue(self.random.bounded(20, 100)) self.ui.w_ammo_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[3]) self.ui.w_effect_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[4]) elif (obj == self.ui.test_list) and (event.key() == 16777234): self.ui.test_list.setCurrentRow( self.ui.test_list.currentRow() - 1) if (self.ui.test_list.currentRow() == -1): self.ui.test_list.setCurrentRow(0) self.ui.test_list.scrollToItem(self.ui.test_list.currentItem()) self.ui.weapon_image.setPixmap( description.pixmapWeaponDict.get( self.ui.test_list.currentRow())) self.ui.w_damage_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[0]) self.ui.w_weight_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[1]) self.ui.w_cost_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[2]) self.ui.w_durability_PB.setValue(self.random.bounded(20, 100)) self.ui.w_ammo_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[3]) self.ui.w_effect_label.setText( description.weaponDescriptionDict.get( self.ui.test_list.currentRow())[4]) #/------------------------------------------------INV-APPAREL--------------------------------------------------/ elif (obj == self.ui.inv_tab) and (self.ui.inv_tab.currentIndex() == 1) and (event.key() == 47): self.ui.apparel_list.setFocus() self.ui.apparel_list.setCurrentRow(0) return True elif (obj == self.ui.apparel_list) and (event.key() == 47): self.ui.apparel_list.setCurrentRow(-1) self.ui.inv_tab.setFocus() return True elif (obj == self.ui.apparel_list) and (event.key() == 16777236): self.ui.apparel_list.setCurrentRow( self.ui.apparel_list.currentRow() + 1) if (self.ui.apparel_list.currentRow() == -1): self.ui.apparel_list.setCurrentRow(0) self.ui.apparel_list.scrollToItem( self.ui.apparel_list.currentItem()) self.ui.apparel_image.setPixmap( description.pixmapClothesDict.get( self.ui.apparel_list.currentRow())) self.ui.a_damage_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[0]) self.ui.a_weight_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[1]) self.ui.a_cost_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[2]) self.ui.a_durability_PB.setValue(self.random.bounded(0, 100)) self.ui.a_type_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[3]) self.ui.a_effect_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[4]) elif (obj == self.ui.apparel_list) and (event.key() == 16777234): self.ui.apparel_list.setCurrentRow( self.ui.apparel_list.currentRow() - 1) if (self.ui.apparel_list.currentRow() == -1): self.ui.apparel_list.setCurrentRow(0) self.ui.apparel_list.scrollToItem( self.ui.apparel_list.currentItem()) self.ui.apparel_image.setPixmap( description.pixmapClothesDict.get( self.ui.apparel_list.currentRow())) self.ui.a_damage_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[0]) self.ui.a_weight_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[1]) self.ui.a_cost_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[2]) self.ui.a_durability_PB.setValue(self.random.bounded(0, 100)) self.ui.a_type_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[3]) self.ui.a_effect_label.setText( description.clothesDescriptionDict.get( self.ui.apparel_list.currentRow())[4]) #/------------------------------------------------INV-AID--------------------------------------------------/ elif (obj == self.ui.inv_tab) and (self.ui.inv_tab.currentIndex() == 2) and (event.key() == 47): self.ui.aid_list.setFocus() self.ui.aid_list.setCurrentRow(0) return True elif (obj == self.ui.aid_list) and (event.key() == 47): self.ui.aid_list.setCurrentRow(-1) self.ui.inv_tab.setFocus() return True elif (obj == self.ui.aid_list) and (event.key() == 16777236): self.ui.aid_list.setCurrentRow(self.ui.aid_list.currentRow() + 1) if (self.ui.aid_list.currentRow() == -1): self.ui.aid_list.setCurrentRow(0) self.ui.aid_list.scrollToItem(self.ui.aid_list.currentItem()) self.ui.aid_image.setPixmap( description.pixmapAidDict.get( self.ui.aid_list.currentRow())) self.ui.aid_weight_label.setText( description.aidDescriptionDict.get( self.ui.aid_list.currentRow())[0]) self.ui.aid_cost_label.setText( description.aidDescriptionDict.get( self.ui.aid_list.currentRow())[1]) self.ui.aid_effect_label.setText( description.aidDescriptionDict.get( self.ui.aid_list.currentRow())[2]) self.anim.stop() self.anim.setCurrentTime(0) self.anim.start() elif (obj == self.ui.aid_list) and (event.key() == 16777234): self.ui.aid_list.setCurrentRow(self.ui.aid_list.currentRow() - 1) if (self.ui.aid_list.currentRow() == -1): self.ui.aid_list.setCurrentRow(0) self.ui.aid_list.scrollToItem(self.ui.aid_list.currentItem()) self.ui.aid_image.setPixmap( description.pixmapAidDict.get( self.ui.aid_list.currentRow())) self.ui.aid_weight_label.setText( description.aidDescriptionDict.get( self.ui.aid_list.currentRow())[0]) self.ui.aid_cost_label.setText( description.aidDescriptionDict.get( self.ui.aid_list.currentRow())[1]) self.ui.aid_effect_label.setText( description.aidDescriptionDict.get( self.ui.aid_list.currentRow())[2]) self.anim.stop() self.anim.setCurrentTime(0) self.anim.start() #/------------------------------------------------INV-AMMO--------------------------------------------------/ elif (obj == self.ui.inv_tab) and (self.ui.inv_tab.currentIndex() == 3) and (event.key() == 47): self.ui.ammo_list.setFocus() self.ui.ammo_list.setCurrentRow(0) return True elif (obj == self.ui.ammo_list) and (event.key() == 47): self.ui.ammo_list.setCurrentRow(-1) self.ui.inv_tab.setFocus() return True elif (obj == self.ui.ammo_list) and (event.key() == 16777236): self.ui.ammo_list.setCurrentRow( self.ui.ammo_list.currentRow() + 1) if (self.ui.ammo_list.currentRow() == -1): self.ui.ammo_list.setCurrentRow(0) self.ui.ammo_list.scrollToItem(self.ui.ammo_list.currentItem()) self.ui.ammo_image.setPixmap( description.pixmapAmmoDict.get( self.ui.ammo_list.currentRow())) self.ui.ammo_weight_label.setText( description.ammoDescriptionDict.get( self.ui.ammo_list.currentRow())[0]) self.ui.ammo_cost_label.setText( description.ammoDescriptionDict.get( self.ui.ammo_list.currentRow())[1]) elif (obj == self.ui.ammo_list) and (event.key() == 16777234): self.ui.ammo_list.setCurrentRow( self.ui.ammo_list.currentRow() - 1) if (self.ui.ammo_list.currentRow() == -1): self.ui.ammo_list.setCurrentRow(0) self.ui.ammo_list.scrollToItem(self.ui.ammo_list.currentItem()) self.ui.ammo_image.setPixmap( description.pixmapAmmoDict.get( self.ui.ammo_list.currentRow())) self.ui.ammo_weight_label.setText( description.ammoDescriptionDict.get( self.ui.ammo_list.currentRow())[0]) self.ui.ammo_cost_label.setText( description.ammoDescriptionDict.get( self.ui.ammo_list.currentRow())[1]) #/------------------------------------------------DATA--------------------------------------------------/ elif (obj == self.ui.data_list) and (event.key() == 16777236): self.ui.data_list.setCurrentRow( self.ui.data_list.currentRow() + 1) if (self.ui.data_list.currentRow() == -1): self.ui.data_list.setCurrentRow(0) self.ui.data_list.scrollToItem(self.ui.data_list.currentItem()) self.ui.data_description.setText( description.questDescriptionDict.get( self.ui.data_list.currentRow())) self.anim.stop() self.anim.setCurrentTime(0) self.anim.start() elif (obj == self.ui.data_list) and (event.key() == 16777234): self.ui.data_list.setCurrentRow( self.ui.data_list.currentRow() - 1) if (self.ui.data_list.currentRow() == -1): self.ui.data_list.setCurrentRow(0) self.ui.data_list.scrollToItem(self.ui.data_list.currentItem()) self.ui.data_description.setText( description.questDescriptionDict.get( self.ui.data_list.currentRow())) self.anim.stop() self.anim.setCurrentTime(0) self.anim.start() #/------------------------------------------------RADIO--------------------------------------------------/ elif (obj == self.ui.radio_list) and (event.key() == 16777236): self.ui.radio_list.setCurrentRow( self.ui.radio_list.currentRow() + 1) if (self.ui.radio_list.currentRow() == -1): self.ui.radio_list.setCurrentRow(0) elif (obj == self.ui.radio_list) and (event.key() == 16777234): self.ui.radio_list.setCurrentRow( self.ui.radio_list.currentRow() - 1) if (self.ui.radio_list.currentRow() == -1): self.ui.radio_list.setCurrentRow(0) #self.ui.data_description.setText(description.questDescriptionDict.get(self.ui.radio_list.currentRow())) elif (obj == self.ui.radio_list) and (event.key() == 47): if self.play: self.player.stop() self.play = False else: self.player.setPlaylist( self.playlistDict.get(self.ui.radio_list.currentRow())) self.playListMohaveMusic.setCurrentIndex( self.random.bounded(0, 9) + 1) self.playlisNewVegas.setCurrentIndex( self.random.bounded(0, 10) + 1) self.player.play() self.play = True return True else: #print(event.key()) return True return super(MainWindow, self).eventFilter(obj, event)
def testNoFocusWindow(self): widget = QApplication.focusWidget() self.assertTrue(widget == None)
def testNoFocusWindow(self): widget = QApplication.focusWidget() self.assertTrue(widget == None)
def mousePressEvent(self, event): focused_widget = QApplication.focusWidget() if isinstance(focused_widget, QLineEdit): focused_widget.clearFocus() QMainWindow.mousePressEvent(self, event)
def keyPressEvent(self, event: QKeyEvent): super().keyPressEvent(event) # Delete Key: if (event.key() == Qt.Key_Delete): current_widget = QApplication.focusWidget() if (current_widget == self.ui.tableWidget_fixedSpent or current_widget == self.ui.tableWidget_income or current_widget == self.ui.tableWidget_spent or current_widget == self.ui.tableWidget_values or current_widget == self.ui.tableWidget_sum): row_count = current_widget.rowCount() column_count = current_widget.columnCount() for item in current_widget.selectedItems(): row = item.row() column = item.column() if (row > -1 and row < row_count and column > -1 and column < column_count): current_widget.item(row, column).setData( Qt.DisplayRole, None) # Ctrl + c: if (event.key() == Qt.Key_C and event.modifiers() == Qt.ControlModifier): current_widget = QApplication.focusWidget() if (current_widget == self.ui.tableWidget_fixedSpent or current_widget == self.ui.tableWidget_income or current_widget == self.ui.tableWidget_spent or current_widget == self.ui.tableWidget_values or current_widget == self.ui.tableWidget_sum): items = current_widget.selectedItems() text = "" previous_row = -1 for item in items: current_row = item.row() if (previous_row == -1): pass elif (current_row == previous_row): text += "\t" elif (current_row == previous_row + 1): text += "\n" if (item.data(Qt.DisplayRole) != None): text += str(item.data(Qt.DisplayRole)) previous_row = item.row() QApplication.clipboard().setText(text) # Ctrl + v: if (event.key() == Qt.Key_V and event.modifiers() == Qt.ControlModifier): current_widget = QApplication.focusWidget() if (current_widget == self.ui.tableWidget_fixedSpent or current_widget == self.ui.tableWidget_income or current_widget == self.ui.tableWidget_spent or current_widget == self.ui.tableWidget_values or current_widget == self.ui.tableWidget_sum): column_count = current_widget.columnCount() row_count = current_widget.rowCount() text = QApplication.clipboard().text() current_row = current_widget.currentRow() initial_column = current_widget.currentColumn() lines = text.split('\n') text_all_lines = [] for line in lines: cells = line.split('\t') text_all_lines.append(cells) for line in text_all_lines: if (current_row >= current_widget.rowCount() ): # check if a new line is needed self.add_one_empty_lines(current_widget) column = initial_column for cell in line: if column < column_count: if (column == 3): # check if category exists is_in_spent_category = False correct_name = "" # correct name with Upper cases for category in self.__spent_categories: if cell.lower() == category.name.lower(): is_in_spent_category = True correct_name = category.name break if (is_in_spent_category): current_widget.item(current_row, column).setData( Qt.DisplayRole, correct_name) else: current_widget.item(current_row, column).setData( Qt.DisplayRole, cell) column += 1 current_row += 1 # Insert if (event.key() == Qt.Key_Insert): current_widget = QApplication.focusWidget() if (current_widget == self.ui.tableWidget_fixedSpent or current_widget == self.ui.tableWidget_income or current_widget == self.ui.tableWidget_spent): self.add_one_empty_lines(current_widget)