2016-09-27 5 views
0

라고있어 작동하지 않습니다Qt는 5.7 QFileDialog 작업은 내가의 FileDialog이 코드 내 메인 창 내부

QAction *actionWithShortcut = new QAction(); 
actionWithShortcut->setShortcut(Qt::CTRL + Qt::Key_9); 
actionWithShortcut->setShortcutContext(Qt::ShortcutContext::WidgetWithChildrenShortcut); 
// added this comment to check does it work at list outside filedialog 
// addAction(actionWithShortcut); 
QFileDialog *fd = new QFileDialog(this); 
fd->addAction(actionWithShortcut); 
connect(actionWithShortcut, &QAction::triggered, fd, &QFileDialog::reject); 
fd->show(); 

하지만 QFileDialog에 조치를 추가 할 수 없습니다 또는 어떻게 든 생략 것 같습니다. 어떤 제안? 이미 창 플래그, 옵션 등을 시도했습니다. 해결책을 찾을 수 없습니다.

답변

3

기본적으로 QFileDialog은 기본 대화 상자 주위의 씬 래퍼입니다. Qt는 네이티브 다이얼로그 주위의 액션을 감싸는 데 필요한 길이로 가지 않았습니다. 따라서 누락 된 구현 사례입니다. Qt를 패치하여 원하는 플랫폼에서 작동하게하고, 변경 사항을 다시 반영 할 수 있습니다.

넌 네이티브 파일 대화 상자로 전환하려는 경우 아마도 작동 할 것입니다.