KDevelop. Руководство программиста: Руководство по разработке приложений на C++ для K Desktop Environment (KDE) с использованием KDevelop IDE, Version 1.0 | ||
---|---|---|
. | 6. Редактор диалоговых окон Dialogeditor: Где строятся диалоги | След. |
Создание нового диалога очень простой процесс, если у вас уже есть опыт графической разработки приложений. KDevelop предоставляет возможность создавать элементы визуально и показывает, как они будут выглядеть в приложении. Кроме того, вы можете выбрать команду предварительного просмотра "Preview" из меню "View".
Для создания диалога или любого другого элемента переключитесь в режим Dialogeditor'а и выберите "New" из меню "File". Затем введите всю необходимую информацию в диалог "New Dialog". Это:
От какого класса наследуется диалог (The Dialog inheritance). Это необходимо, потому что любой элемент в конце концов порожден от QWidget. Кроме типов элементов, предоставляемых Qt , вы можете наследовать элемент, например, от абстрактного базового класса, который вы создали сами в проекте. В этом случае выберите "custom" и введите путь файла заголовка в строку ввода ниже.
Имя диалога (The Dialog name). Это устанавливает имя класса для генерируемого диалога. Выберите осмысленное имя, отражающее назначение диалога; в случае наследования от QDialog, вы можете ввести имя, заканчивающееся буквами Dlg, чтобы помнить, что это диалог. При присвоении имени следует использовать принятые в KDE и Qt соглашения: используйте заглавные буквы в имени класса. Например, диалог выбора размеров таблицы вы можете назвать GridSizeDlg.
Имена генерируемых файлов (The generated filenames). Они заполняются при вводе имени диалога, но могут быть изменены. Если вы хотите использовать другие имена файлов, также необходимо придерживаться соглашений KDE и Qt : все имена файлов набираются строчными буквами и содержат имя класса для напоминания, что он содержится в этом файле. Файл данных, который будет задан позднее, содержит сгенерированный код, получаемый при создании диалога. Вы не должны редактировать этот файл непосредственно; используйте файл реализации для любых добавлений в диалог и реализации его методов.
После этого диалог отобразится как элемент с сеткой. Поскольку сетка используется редактором диалогов для привязки элементов к ее узлам, вы можете изменять шаг сетки с помощью пункта "Grid Size" в меню "View", если вас не удовлетворяет значение по умолчанию
Выберите переключатель "Widgets" на левой панели и нажмите тот элемент, который вы хотите добавить в главное окно. Он появится в главном окне в левом верхнем углу и будет выбран рамкой, позволяющей производить изменение размеров. Передвиньте или измените размер элемента с помощью мыши. Курсор будет при этом изменяться, чтобы показать, какое действие может быть выполнено в данной позиции.
После завершения создания диалога выберите "Generate Files" из меню "Build" или нажмите соответствующую кнопку панели инструментов. Файлы будут сгенерированы в предопределенном месте и включены в исходники вашего проекта. Команда "Build" или "Make" перекомпилирует все сгенерированные файлы вашего проекта и вы сможете добавить соответствующий вызов конструктора в ваше приложение для отображения диалога или элемента. Для проектов KDE все свойства элементов могут быть просмотрены позже, например текст метки, установленный с помощью макроса i18n() из kapp.h для поддержки интернационализации. Таким образом, вы должны выполнить "Make Messages and merge" после завершения создания и реализации.
При создании диалога или элемента вы должны следовать следующим советам:
Всегда стремитесь к стандарту! Это, наверное, наиболее важное правило при разработке элементов графического пользовательского интерфейса. Помните, что пользователь воспримет только те приложения, которые легко понять, независимо от того, насколько сложны решаемые ими задачи.
Добавляйте везде, где это возможно, всплывающие подсказки. Что это..? Помощь, или Быстрая помощь. Это позволяет получить информацию о целях конкретного объекта пользовательского интерфейса.
Следите за фокусом ввода клавиатуры! Генератор не заботится об этом - об этом надо помнить при создании любого элемента; иначе вы будете вынуждены переупорядочивать ваш инициализационный код вручную, что является очень неблагодарным занятием. Порядок изменения фокуса ввода клавиатуры значит порядок, в котором составляющие диалог элементы получают фокус, когда пользователь нажимает клавиши Tab и Shift+Tab. Очень надоедливо, когда фокус изменяется как угодно, но только не на следующий элемент, расположенный ниже или справа от текущего. Поэтому начинайте создание ваших элементов сверху вниз слева направо для уверенности в правильности перемещения фокуса.