Проектирование пользовательского интерфейса в Qt

  • Создание меню в Qt с помощью QMenu

    Меню является важной и неотъемлемой частью практически любого приложения. Оно находится в верхней части главного окна приложения и представляет собой секцию для расположения большого количества команд, из которых пользователь может выбирать нужную. В приложениях используются меню четырех основных типов: Далее...

  • Создание отрывных меню в Qt

    Qt предоставляет возможность реализации отрывных меню (tear-off menu). Нажатие мышью на прерывистую линию приводит к тому, что всплывающее меню отделяется от меню верхнего уровня, превращаясь в отдельное окно, которое свободно перемещается. Такое меню очень удобно, например, для настройки конфигураций программы. Далее...

  • Контекстные меню в Qt

    Визитной карточкой профессионального приложения является наличие контекстного меню. Контекстное меню — это меню, которое открывается при нажатии правой кнопки мыши. Для его реализации, также как и в случае всплывающего меню, используется класс QMenu. Отличие состоит лишь в том, что это меню не присоединяется к виджету QMenuBar. Далее...

  • Создание диалоговых окон в Qt

    Диалоговое окно — это центральный элемент, обеспечивающий взаимодействие между пользователем и приложением. Этот виджет может содержать ряд опций, изменение которых в ходе работы влечет за собой изменение в работе самой программы. Диалоговые окна всегда являются виджетами верхнего уровня и имеют свой заголовок. Их можно разбить на три основные категории: Далее...

  • Класс QDialog для создания модальных и немодальных диалоговых окон

    Класс QDialog является базовым для всех диалоговых окон, представленных в классовой иерархии Qt. Хотя диалоговое окно можно создавать при помощи любого виджета, сделав его виджетом верхнего уровня, тем не менее, удобнее воспользоваться классом QDialog, который предоставляет ряд возможностей, необходимых всем диалоговым окнам. Диалоговые окна подразделяются на две группы: Далее...

  • Создание собственных диалоговых окон

    Программа, показанная на рисунке, является результатом создания собственного диалогового окна. При запуске на экране окно с кнопкой Press Me (Нажми меня), нажатие на которую отображает диалоговое окно ввода имени First Name (Имя) и фамилии Last Name (Фамилия). Далее...

  • Использование стандартных диалоговых окон в Qt

    Использование стандартных окон значительно ускоряет разработку тех приложений, в которых необходимо использовать стандартные диалоговые окна выбора файлов, шрифта, цвета и т. д. Вместо того, чтобы тратить время на разработку своих собственных классов, можно воспользоваться готовыми классами библиотеки Qt. К достоинствам стандартных диалоговых окон можно отнести целостность пользовательского интерфейса, так как вид окон, во всех приложениях использующих их, будет один и тот же. Далее...

  • Использование диалоговых окон настройки принтера в Qt

    Это окно позволяет выбрать принтер, изменить его параметры и задать диапазон страниц для печати. Диалоговое окно настройки принтера реализовано в классе QPrintDialog, но вызывать его в отдельности от объекта принтера класса QPrinter не имеет смысла, так как главная задача состоит в настройке этого объекта для вывода на печать. Например: Далее...

  • Использование диалоговых окон выбора цвета в Qt

    Класс QColorDiaiog реализует диалоговое окно выбора цвета. Для того чтобы показать это окно, вызывается статический метод getcolor(). Первым параметром в метод можно передать цветовое значение для инициализации. Вторым параметром является указатель на виджет предка. После закрытия диалогового окна метод возвращает номер цвета. Чтобы узнать, какой кнопкой было закрыто окно — Ok или Cancel (Отмена), необходимо вызвать метод isValid() из возвращенного этим методом объекта типа QColor. Значение true означает, что была нажата кнопка Ok, в противном случае — Cancel (Отмена). Например: Далее...

  • Использование диалоговых окон для выбора шрифта QFontDialog в Qt

    Это окно предназначено для выбора одного из зарегистрированных в системе шрифтов, а также для задания его стиля и размера. Реализация этого диалогового окна содержится в классе QFontDialog, определенном в заголовочном файле QFontDialog. Далее...

  • Использование диалоговых окон ввода в Qt

    Диалоговое окно ввода данных можно использовать для предоставления пользователю возможности ввода строки или числа. Это окно реализовано в классе QInputDialog. Конечно, можно и самому написать нечто подобное, разместив в диалоговом окне виджет класса QLineEdit, но зачем это делать, когда есть готовый класс? Для более сложных диалоговых окон, имеющих более одного поля ввода, этот класс уже не подойдет и придется реализовывать свой собственный. Далее...

  • Диалоговое окно прогресса QProgressDialog

    Для диалогового окна прогресса Qt предоставляет класс QProgressDialog, унаследованный от класса QDialog. Это окно информирует пользователя о начале продолжительной операции и дает возможность визуально оценить время работы. Окно может содержать кнопку Cancel (Отмена) для прерывания начатой операции. При нажатии на нее высылается сигнал canceled(), который следует соединить со слотом, ответственным за прекращение проводимой операции. Далее...

  • Окна сообщений QMessageBox в Qt

    Не стоит создавать собственные диалоговые окна для вывода сообщений на экран, ведь для этого можно воспользоваться уже готовыми окнами, предоставляемыми классом QMessageBox. Окно сообщения — это самый простой элемент пользовательского интерфейса, который отображает текстовое сообщение и ожидает реакции со стороны пользователя. Его основное назначение состоит в информировании о совершении определенного события. Все окна, предоставляемые классом QMessageBox, — модальные. Они могут содержать кнопки, заголовок и текст сообщения. Далее...

  • QMessageBox - Окно информационного сообщения

    Это окно используется для отображения сообщений после успешного исполнения операции. Вызов статического метода information() отображает на экране окно информационного сообщения. Далее...

  • QMessageBox - Окно предупреждающего сообщения

    Для отображения окна предупреждающего сообщения вызывается статический метод warning() класса QMessageBox. Далее...

  • Использование окно критического сообщения

    Окно критического сообщения следует показывать только в тех случаях, когда произошло что-то очень серьезное. Для его отображения нужно вызвать статический метод critical(), передав ему в первом параметре указатель на виджет предка, во втором — заголовок, а в третьем — само сообщение. В четвертом, пятом и шестом параметрах передаются целочисленные идентификаторы кнопок: Далее...

  • Окно сообщения About в Qt

    Такое окно отображается при вызове статического метода about() класса QMessageBox для предоставления пользователю общей информации о программе: версии, контактной информации, информации об авторских правах и т.д.. В этот метод передаются три параметра. Первый параметр — это указатель на виджет предка, второй — заголовок окна, третий представляет собой само сообщение. Далее...

  • Окна сообщений об ошибке QErrorMessage

    Окно сообщения об ошибке реализуется классом QErrorMessage, а не классом QMessageBox, как все остальные окна сообщений. Оно представляет собой немодальное диалоговое окно. Для отображения окна сообщения об ошибке создается объект этого класса и вызывается метод message(), в который передается текст сообщения. Например: Далее...

  • Диалоговые окна в Qt. Заключение

    Диалоговые окна — это виджеты верхнего уровня, открывающиеся поверх окна основного приложения. Для создания таких окон можно воспользоваться любым классом виджетов, но удобнее использовать класс QDiaiog. Далее...

  • Использование панели инструментов QToolBar в Qt

    Основная цель панели инструментов (Tool Bar) — предоставить пользователю быстрый доступ к командам программы одним нажатием кнопки мыши. Это делает панель инструментов более удобной по сравнению с меню, в котором нужно сделать, по меньшей мере, два нажатия. Еще одно достоинство состоит в том, что панель инструментов всегда видима, и не нужно тратить время на поиски необходимой команды в меню или вспоминать комбинацию клавиш ускорителя. Далее...

  • Использование строки состояния QStatusBar в Qt

    Этот виджет располагается в нижней части главного окна и отображает, как правило, текстовые сообщения для предоставления информации о состоянии приложения или выдачи справки о командах меню или кнопках панелей инструментов. Строку состояния реализует класс QStatusBar, определенный в заголовочном файле QStatusBar. Различают следующие типы сообщений: Далее...

  • Класс главного окна QMainWindow

    QMainWindow — это очень важный класс, который реализует главное окно, содержащее в себе типовые виджеты, необходимые большинству приложений, такие как меню, секции для панелей инструментов, рабочую область, строки состояния. В этом классе внешний вид уже подготовлен и его виджеты не нуждаются в дополнительном размещении, так как они уже находятся в нужных местах. Далее...

  • Предшествующее окно QSplashScreen

    При запуске многие приложения показывают, так называемое, предшествующее окно (Splash Screen). Это окно отображается на время, необходимое для инициализации приложения, и информирует о ходе запуска приложения. Зачастую такое окно используют для маскировки длительного процесса старта программы. Далее...

  • Класс действия QAction

    Зачастую оконный интерфейс программы построен таким образом, что пользователь может выполнить требуемое действие несколькими разными способами. Одним пользователям нравится использовать главное меню приложения, другие предпочитают вызывать контекстное кликом по правой кнопке мыши, третьим по душе нажимать кнопки на панели инструментов. Для того, чтобы с приложением было удобно работать разным пользователям, программисту необходимо реализовать все возможные способы взаимодействия пользователя и программы. Чтобы облегчить эту задачу разработчикам в Qt реализован класс QAction. Далее...

  • SDI- и MDI-приложения в Qt

    Существует два типа приложений, базирующихся на документах. Первый тип — это SDI (Single Document Interface, однодокументный интерфейс), второй — MDI (Multiple Document Interface, многодокументный интерфейс). В SDI-приложениях рабочая область одновременно является окном приложения, а это значит, что невозможно открыть в одном и том же приложении сразу два документа. MDI-приложение предоставляет рабочую область (класса QWorkSpace), способную размещать в себе окна виджетов, что дает возможность одновременной работы с большим количеством документов. Далее...

  • Создание SDI-приложений в Qt

    Типичным примером SDI-приложения является программа ОС Windows Notepad (Блокнот). Пример, приведенный в листинге ниже, реализует упрощенный вариант этой программы, представляющей собой текстовый редактор. Результат показан на рисунке. Далее...

  • Создание MDI-приложений в Qt

    MDI-приложение позволяет пользователю работать с несколькими открытыми документами. По своей сути оно очень напоминает обычный рабочий стол, только в виртуальном исполнении. Пользователь может разложить в его области несколько окон документов, или свернуть их. Окна документов могут перекрываться друг другом, а также могут быть развернуты во всю рабочую область. Далее...