Qt Designer (PyQt5 포함)로 설계된 양식이 있습니다. 필자는 입력을 위해 라인 편집을 사용합니다. 내가 원한 것은 라인 편집에서 키보드 콤보 (Ctrl + B 또는 기능 키 중 하나와 같은 것)를 사용하는 기능을 추가하는 것입니다. 해당 콤보 또는 기능 키를 누르면 클립 보드 내용을 "특수"방식으로 붙여 넣을 함수/메서드를 실행합니다 (클립 보드에서 값을 필터링하고 값을 조정한다는 의미입니다).키보드 단축키를 Qt 디자이너에서 QLineEdit에 할당하십시오.
모든 것이 쉬운 것처럼 보이고 많은 사람들이 이런 종류의 작업을 수행 했음에 틀림 없습니다. 그러나 나는 내가 원하는 것을하는 단순하고 이해할 수있는 단일 방법을 찾을 수 없었다. 여기 내가 찾는 해결책이 있습니다. 당신은 내가 갈거야 이해하는 나는 keyboard_key_pressed
부분 (및 기타)를 만들어
self.ui.my_lineedit.keyboard_key_pressed.connect(self.my_func, ctrl+b)
def my_func(self):
pass
: 다음은 MainForm 코드를 보유하고 수업을 받고있다. 위의 예처럼 내가 원하는 것을하기위한 간단한 방법이 있습니까?
이 링크는 조금 도움이되는데 .. lineedit에 관한 것은 아니지만 주요 양식 자체에서 키 누르기 이벤트 만 수행하는 방법을 보여줍니다. 또한 그것은 콤보 등에 관한 정보를 제공하지 않습니다. https://stackoverflow.com/questions/45308101/how-pyqt5-keypressevent-works –
이 링크는 콤보로 나를 도왔습니다 .. 남은 유일한 방법은이 모든 것을 수행하는 방법입니다 lineedit 포커스가 아니라 전체 메인 창. https://stackoverflow.com/questions/28204043/how-to-handle-keyboard-shortcuts-using-keypressevent-and-should-it-be-used-fo –