2014-03-29 2 views
1

Я понял, что используются буквы для захвата события keyPressEvent.pyside - как захватить заглавную букву (KeyEvent)?

def iniciar(self): 
    self.resize(730, 500) 
    self.setFixedSize(730, 500) 
    self.center() 
    self.setWindowTitle('Practico 1') 
    self.show() 

def center(self): 
    qr = self.frameGeometry() 
    cp = QtGui.QDesktopWidget().availableGeometry().center() 
    qr.moveCenter(cp) 
    self.move(qr.topLeft()) 

def keyPressEvent(self, e): 
    if e.key() == QtCore.Qt.Key_A: 
     QtGui.QMessageBox.information(self, 'pressed', 'you pressed the letter "a"')     

Таким образом, я записываю буквы либо в верхнем, либо в нижнем регистре, но как я должен подтвердить, что нажата заглавная буква?

+0

Вы хотите заставить пользователя просто ввести заглавные буквы или вы хотите выполнить реакцию, когда пользователь вводит прописную букву и игнорирует другие входы? – mok

ответ

1

Вы можете проверить прописные буквы с помощью модификаторов. Например, с помощью

if e.key() == QtCore.Qt.Key_A and (e.modifiers() & QtCore.Qt.SHIFT): 
+0

большое спасибо: D – user3476778

Смежные вопросы