Qt로 IHM을 만들려고하는데 기본 메뉴 (파일, 편집 ...)를 만들어 시작했습니다. 지금까지 "File"을 포함하는 메뉴가 있는데, "New Project, Open Project, Exit"가 표시됩니다. 멋져 보이지만 내 문제는 이러한 동작 (클릭하거나 단축키로 클릭)을 실행할 수없는 것입니다. 내가 연결된 푸시 버튼이 슬롯을 사용하는 경우QAction이 내 슬롯에 연결되지 않습니다.
void KoriganEngine::launchNewProjectWidget(){
//External QWidget
m_nwProj = new NewProjectWidget(NULL,Qt::MSWindowsFixedSizeDialogHint);
m_nwProj->show();
}
, 나의 새로운는 QWidget가 제대로 표시됩니다
여기 내 슬롯입니다.
void KoriganEngine::KG_createMenus(){
//init actions
KG_createMenuActions();
//add menu to the bar
m_fileMenu = menuBar()->addMenu("File");
m_fileMenu->addAction(m_newProjAction);
m_fileMenu->addAction(m_openProjAction);
m_fileMenu->addSeparator();
m_fileMenu->addAction(m_quitAction);
m_editMenu = menuBar()->addMenu("Edit");
}
void KoriganEngine::KG_createMenuActions(){
m_newProjAction = new QAction("New Project...", this);
m_newProjAction->setShortcuts(QKeySequence::New);
m_newProjAction->setStatusTip(QString("Create a new Project"));
connect(m_newProjAction, SIGNAL(trigerred()), this, SLOT(slottest()));
m_openProjAction = new QAction("Open Project...", this);
m_openProjAction->setShortcuts(QKeySequence::Open);
m_openProjAction->activate(QAction::Hover);
connect(m_openProjAction, SIGNAL(trigerred()), this, SLOT(launchNewProjectWidget())); //TODO replace the slots
m_quitAction = new QAction("Exit", this);
connect(m_quitAction, SIGNAL(trigerred()), this, SLOT(quit()));
}
그리고 : 그러나 불가능은 다음
내 행동과 메뉴의 코드입니다 ... 액션과 같은 일을 할 수 버튼과 함께 작동하는 코드 :connect(m_button, SIGNAL(clicked()), this, SLOT(launchNewProjectWidget()));
그래서 저는 왜 그것이 똑같이 반응해서는 안되는지, Qt 예제를 반복해서 읽었습니다 ... 나는 뭔가를 놓쳤음에 틀림 없습니다. 그러나 누군가가 아이디어로 생각한다면, 나는 더 이상있을 것입니다. 감사합니다. 삶이 싫어지기 시작했습니다. p
감사합니다.
PS : 좋아, 내가 코드 블록을 잘 확인 처리 할 사업입니다, 내 방어가 ... 사용하기 정말 이상 해요 : P
감사합니다. 나는 부끄러워서 철자 문제로 몇 시간을 잃었습니다. 어쨌든 고맙습니다. – Crumble