#include <QMainWindow>class Scene3D;class dbViewer;class QListWidget;class QToolBar;class QAction;class QTableWidget;class MainWindow : public QMainWindow{ Q_OBJECTpublic: MainWindow();private slots: void aboutSlot(); void checkPhotoSlot(); void informationSlot();private: void createToolBar(); void createActions(); void createStatusBar(); void createCheckPointList(); void createTableWidget(); enum { COLUMN = 2 }; // количество колонок на панели QTableWidget *checkpointTable; // панель-таблица со списком контрольных точек QAction *exitAction; QAction *aboutAction; QAction *nextPhotoAction; QAction *previousPhotoAction; QAction *checkerAction; QAction *informationAction; QToolBar *toolBar; Scene3D *view3D; dbViewer *viewChecker;};
#include <QtGui>#include "mainwindow.h"#include "dbViewer.h"#include "scene3D.h"#include "helpBrowser.h"MainWindow::MainWindow(){ // что бы все было на русском и без закорючек QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); setWindowTitle("Teleport"); view3D = new Scene3D; viewChecker = new dbViewer; // выводим на форму OpenGL-элементы setCentralWidget(view3D); // запретить контекстное меню setContextMenuPolicy(Qt::NoContextMenu); setGeometry(100, 100, 800, 600); createActions(); createToolBar(); createStatusBar(); createCheckPointList(); // создаем боковую панель с точками быстрого доступа connect(checkpointTable, SIGNAL(cellDoubleClicked(int,int)), view3D, SLOT(getPhoto(int,int)));}void MainWindow::createActions(){ exitAction = new QAction(QIcon(":/Icons/exit.png"), "Exit", this); exitAction->setStatusTip("Close the program"); connect(exitAction, SIGNAL(triggered()), SLOT(close())); aboutAction = new QAction(QIcon(":/Icons/teleport.png"), "About", this); aboutAction->setStatusTip("About this programm"); connect(aboutAction, SIGNAL(triggered()), SLOT(aboutSlot())); checkerAction = new QAction(QIcon(":/Icons/check.png"), "CheckPhoto", this); checkerAction->setStatusTip("CheckPhoto..."); connect(checkerAction, SIGNAL(triggered()), SLOT(checkPhotoSlot())); informationAction = new QAction(QIcon(":/Icons/information.png"), "Information", this); informationAction->setStatusTip("Informtion about this place..."); connect(informationAction, SIGNAL(triggered()), SLOT(informationSlot()));}...тут дальше пошла реализация методов и слотов