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



         

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


  • (7-8) Кодек и установка кодировки.
  • (10) Текстовая метка. Второй параметр конструктора (указатель на родительский элемент) можно опустить.
  • (12) Однострочное поле ввода. То же самое замечание относительно параметра this.
  • (14-20) Поле ввода с раскрывающимся списком. Текущим сделан второй, считая с нуля, te последний элемент списка. Вызов(19) разрешает вводить в поле любые строковые значения, независимо от того, имеются ли они в списке выбора. В (20) указано, что новые значения, введённые пользователем, будут автоматически дописываться в конец списка.
  • (22-23) Целочисленное поле ввода с кнопками инкремента/декремента.
  • (25-26) Независимый переключатель с двумя состояниями.
  • (28-32)Поле для ввода вещественного значения с кнопками инкремента/декремета. В (29) установлено максимальное допустимое значение, в (30) -- количество десятичных цифр в дробной части, а в (31) -- величина приращения при нажатии кнопки.
  • (34-36) Поле для ввода даты и времени. Заданы год, месяц, число, часы, минуты, секунды и миллисекунды.
  • (38) Рамка с надписью вокруг группы элементов.
  • (40,42,44) Три зависимых переключателя (радиокнопки) с текстовыми метками.
  • (46) Установлен второй переключатель, остальные автоматически выключены.
  • (48,50) Две кнопки.
  • (52) Заданы минимально возможные размеры окна диалога. Если вместо setMinimumSize использовать метод setFixedSize, то пользователь не сможет изменить ни ширину, ни высоту окна.
  • (55) Виртуальный метод, автоматически вызываемый при изменении размеров окна.
  • (56,57) Вычисление приращения ширины и высоты окна относительно их минимально разрешённых значений.
  • (59) Положение и размеры текстовой метки фиксированы.
  • (60) Положение однострочного поля ввода не изменяется, а ширина увеличивается на то же значение, что и ширина всего окна. В результате правый край элемента зафиксирован относительно правой границы окна.
  • (62-63) Ширина поля ввода со списком выбора увеличивается в два раза быстрее, чем ширина поля для ввода целого значения.
  • (65) Позиция и размеры независимого переключателя фиксированы.
  • (66, 68, 70) Ширина полей для ввода вещественного значения и для ввода даты/времени, а также ширина рамки вокруг группы элементов увеличивается на то же значение, что и ширина всего окна.
  • (71-73) Ширина текстовых меток зависимых переключателей растёт одинаково, на 1/3 от прироста ширины всего окна.
  • (75-76) Кнопки в нижней части диалога увеличиваются по ширине, а расстояние от них до нижней границы окна остаётся неизменным.



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