MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); g = new sub3dtoolgui; connect(g, SIGNAL(closeProgram()), this, SLOT(close())); connect(g, SIGNAL(newStatus(QString)), ui->statusBar, SLOT(showMessage(QString))); g->init(); this->setCentralWidget(g); this->layout()->setSizeConstraint(QLayout::SetFixedSize); }
int main(void) { system("mode con lines=25 cols=80"); //콘솔 창 크기 초기화 UserInfo *userInfo = NULL; FILE *readFile = NULL; FILE *writeFile = NULL; int input = 1, menu = 1, choice; int *ptr = &menu; char *menu_num[MENU_NUM]; puts("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t = 시작하는 중 = \n\n\n\n\n\n\n\n\n\n\n"); userInfo = setUserInfo(userInfo, readFile); //구조체 배열에 파일 데이터 저장 if (userInfo == (UserInfo*)-1) return 0; //오류 났을 경우 바로 종료 startSound(); //로딩 완료 효과음 printMainSub(menu, menu_num); //메인 메뉴 구성 while(1) { printMain(menu, menu_num); //메인 화면 출력 input = getch(); //입력 if (input == ARROW_BUFFER) //방향키는 입력 시 아스키확장 값이 먼저 들어온 후 값이 들어옴 input = getch(); //그래서 이 경우 버퍼를 한번 비우도록 하였음 switch (input) { case UP_ARROW_KEY: //상 방향키 if (menu > 1) menu--; moveSound(); break; case DOWN_ARROW_KEY: //하 방향키 if (menu < 6) menu++; moveSound(); break; case ENTER_KEY: //enter키 inSound(); switch (menu) { case 1: //출력 printList(userInfo); break; case 2: //등록 addUser(userInfo); break; case 3: //삭제 searchMain(userInfo, _DELETE, "삭제", "Delete"); break; case 4: //수정 searchMain(userInfo, MODIFY, "수정", "Modify"); break; case 5: //검색 searchMain(userInfo, SEARCH, "검색", "Search"); break; case 6: //저장 saveInfo(userInfo, writeFile); break; } //switch(menu) out break; case ESC_KEY: //esc키 inSound(); choice = closeProgram(); if (choice == SAVE) choice = saveInfo(userInfo, writeFile); if (choice == SAVE || choice == EXIT){ printClose(); free(userInfo); closeSound(); printClose_sub(); return 0; } else break; default: warningMessage(input - '0', 6, ptr); break; } //switch(input) out } free(userInfo); return 0; }
void RMainWnd::closeEvent(QCloseEvent* event) { event->ignore(); emit closeProgram(); }