그래서 여러 메뉴 (기본 메뉴 중 하나 및 일부 상황에 맞는 메뉴)에 표시하려는 동작이 있습니다. 메뉴 항목 텍스트를 메뉴와 약간 다르게 지정하고 싶습니다. (니모닉을 고유하게 만들고 각 컨텍스트에서 필요에 따라 더 자세한 내용을 표시합니다).텍스트가 다른 두 개의 QMenus에서 동일한 QAction을 사용하는 방법은 무엇입니까?
MFC에서 (각자의 메뉴 항목이 따로 정의되어 있으므로이 순간부터 마이그레이션의 즐거움이있었습니다.) 각 메뉴의 항목이 따로 정의되어 있으며 핸들러에 연결된 동일한 ID에 매핑 될 수있었습니다. 그래도 Qt에서 QAction
은 텍스트/아이콘/등뿐만 아니라 비헤이비어를 캡슐화합니다. 그래서 나는 그것이 사용되는 곳에 따라 다른 텍스트를 반환하는 것을 직접적으로지지한다고 가정하지 않습니다.
그 상황에 특정 텍스트가있는 "프록시"QAction
을 만들기 위해, 각 위치, 이것이 처리하고 단순히 원래 QAction
의 하나에 연결의 triggered()
신호를 가지고하는 방법에 대한 내 생각. 하지만 먼저이 방법에 접근하는 쉬운 방법이 있는지 확인해야한다고 생각했습니다.
오른쪽, 감사합니다. 나는 그 방법을 보지 못했습니다. 왜냐하면 기존의 기술을 사용하는 곳은 QAction을 서브 클래스 화하고 실제로 같은 클래스의 신호에 연결된 해당 클래스의 슬롯에서 작업 (또는 그 양)을 수행하기 때문입니다. . – Owen
그럼 공개 슬롯이 아니라면 언제든지 신호를 신호에 연결할 수 있습니다. – zkunov