Меню и строка состояния (файл examples-qt/02/02.h)
1 #include <QtGui>
2 3 class MainWindow : public QMainWindow { 4 Q_OBJECT 5 6 public: 7 MainWindow();
8 9 protected: 10 virtual void resizeEvent(QResizeEvent *event);
11 virtual void mouseMoveEvent(QMouseEvent *event);
12 virtual void closeEvent(QCloseEvent *event);
13 14 private slots: 15 void about();
16 17 private: 18 QAction *aboutAction; 19 QAction *exitAction; 20 QMenu *fileMenu; 21 QLabel *sb1; 22 QLabel *sb2; 23 QLabel *sb3; 24 25 bool askOnClose();
26 };
(1) Подключили заголовочный файл QtGui, в котором описаны все объекты, относящиеся к элементам графического интерфейса. Это проще, чем отдельно подключать QMainWindow, QLabel, QMenu и т.д. (3) Объявили новый класс MainWindow, использовав в качестве базового класс QMainWindow (наследника QObject). (4) Не забыли про обязательный макрос Q_OBJECT. (7) Конструктор без параметров. (10-12) Виртуальные методы, вызываемые автоматически при изменении размеров окна, при перемещении указателя мыши и при закрытии окна. (14-15) Описание слотов (функций-обработчиков). В данном случае здесь упомянута только функция, вызываемая при выборе пункта меню "Опрограмме" (т.к. все остальные обработчики -- это виртуальные функции или уже определённые методы базового класса). (17-23) Переменные-члены класса: два действия для пунктов меню, само меню и три текстовые метки для строки состояния. (25) Служебная функция, вызываемая при закрытии окна (просит подтверждения у пользователя).
Содержание раздела