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



         

Листинг 8. Перерасчёт геометрии в методе resizeEvent (файл examples-qt/03/03.h)


1 // Перерасчёт геометрии всех элементов при изменении размеров окна 2 3 #include <QtGui> 4 5 class MyDialog : public QDialog { 6 Q_OBJECT 7 8 public: 9 MyDialog(); 10 11 protected: 12 virtual void resizeEvent(QResizeEvent *event); 13 14 private: 15 QLabel *lb; // Текстовая метка. 16 QLineEdit *le; // Строковое поле ввода. 17 QComboBox *cb; // Поле ввода с раскрывающимся списком. 18 QSpinBox *sb; // Целочисленное поле ввода с кнопками 19 // инкремента/декремента. 20 QCheckBox *chb; // Независимый переключатель 21 // с двумя состояниями. 22 QDoubleSpinBox *dsb; // Поле ввода вещественного значения 23 // с кнопками инкремента/декремента. 24 QDateTimeEdit *dte; // Поле ввода даты и времени. 25 QGroupBox *gb; // Рамка с надписью вокруг группы элементов. 26 QRadioButton *rb1; // Три 27 QRadioButton *rb2; // зависимых 28 QRadioButton *rb3; // переключателя. 29 QPushButton *btn1; // Кнопка "Сохранить". 30 QPushButton *btn2; // Кнопка "Отменить". 31 };

  • (5) Объявили класс MyDialog, в качестве базового использовали стандартный класс диалога библиотеки Qt.
  • (9) Конструктор диалога.
  • (15-30) Указатели на все визуальные элементы необходимо сделать членами класса, чтобы иметь к ним доступ из метода resizeEvent.



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