Программирование на C++ с использованием библиотеки Qt4



         

Листинг 6. Меню и строка состояния (файл 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) Служебная функция, вызываемая при закрытии окна (просит подтверждения у пользователя).



  • Содержание  Назад  Вперед