Обработка событий Обработка событий возможна лишь при использовании объекетного подхода при создании окон. Qt является полностью объектной библиотекой. Когда пользователь совершает какую-нибудь манипуляция с элементом управления, например, щелчок по кнопке, элемент генерирует соответствующий сигнал, который рассылается всем подключённым к нему слотам. Слот -- обыкновенная функция, возвращающая тип void и объявленная в специальной секции класса slots. connect: bool QObject::connect(const QObject* sender,const char *signal, const QObject* receiver, const char* method, Qt::connectionType=Qt::AutoConnection): Макрос QObject должен быть первой строкой у всех классов, в которых есть слоты. Он указывает процессору, что этот файл следует обрабатывать особым образом. Если этот макрос не указать, то слоты вызываться не будут. Окно будет содержать текстовое поле и кнопку. При щелчке на кнопку будет выводиться диалоговое окно, состоящее из строки. //mywnd.h #include class MyWnd::public QWidget { Q_OBJECT public: MyWnd(QWidget* parent=NULL); private slots: void buttonClicked(); private: QLineEdit *le; } #include "mywnd.h" myWnd.MyWnd(QWidget *parent):QWidget(parent) { QGridLayout* gl=new QGridLayout(this); gl->addWidget(new QLabel("Name",this),0,0); le=new QLineEdit(this); gl->addWidget(le,0,1); QPushButton* pb=new QPushButton("Push",this); this->connect(pb,SIGNAL(clickad()),this,SLOT(buttonClicked())); gl->addWidget(pb,1,1); this->setLayout(gl); } void MyWnd::ButtonClicked() { QMessageBox::information(this,"Name",Nameis"+le.text()) } Оценка пользовательского интерфейса. Общие положения, структура методов оценки Степень удобства пользовательского интерфейса при его использовании определяется параметром usability, который дословно переводится как "применяемость"; это понятие микроэргономики, обозначающий итоговый уровень удобства предмета для использования в заявленных целях. Пользовательский интерфейс обладает высоким показателем usability, если он лёгкий в использовании, изучении, повторном изучении, не приносящий вреда, легко поддерживается, легко контролируется, легко распределяется внутри группы, легко внедряется в существующие операции. Факторы, определяющие удобство применения: полезность -- позволяет пользователю достичь поставленной им цели; эффективность -- насколько успешно продукт помогает пользователю в выполнении задач; простота изучения -- пользователи могут начинать использовать продукт, приобретая определённый уровень знаний после прохождения тренинга. Отношение пользователя -- это восприятие, ощущение и мнение пользователей по поводу изучения и использования данного продукта. Виды оценок интерфейса: оценка функциональных возможностей системы. оценка влияния ПИ на пользователя, формулирование возникших проблем. Все эти оценки могут производиться как в лабораторных условиях, так и в процессе реальной работы. Оценка в условиях лаборатории: у этой оценки есть свои преимущества: возможность использования специального оборудования, неизменность окружающей обстановки, управление выбранными переменными диалогового поведения, возможность выбора гипотезы, которая и проверяется, возможность исследования множества ситуаций, отличающихся только заданными переменными, возможность варьирования методов и единиц измерения действий пользователей или экспертов в зависимости от разных условий; недостатки: отсутствие контекста, трудность реализации кооперации нескольких пользователей (в методах, где предусмотрено их участие), необходимость моделирования и прототипирования, необходимость соответствия условиям, если система расположена в опасном или неудобном для натуральных экспериментов месте. Оценка интерфейса в условиях реальной работы: преимущества: естественная среда, сохранение контекста, возможность лонгитюдных исследований в течение длительного времени; недостатки: отвлекающие моменты, шум, необходимость соответствия условиям. Методы, основанные на анализе мнений экспертов (аналитические): 1) когнитивный анализ; 2) эвристическая оценка; 3) оценка на основе анализа процесса разработки. Когнитивный анализ позволяет определить, насколько хорошо выполняется поддержка процесса взаимодействия пользователя. Но для этого необходимо иметь описание некоторого разбора задач и разбиение на действия, которые пользователь должен произвести (метод GOMS). Эксперт анализирует действия и отвечает на определённые вопросы: соответствует ли интерфейс ожиданиям пользователя, видит ли пользователь, что это действие возможно, достаточна ли обратная связь. Для анализа используют универсальные формы. Кроме того, каждая задача когнитивного анализа даёт возможность определить, какие когнитивные процессы задействованы, какие проблемы обучения могут возникнуть, способствует ли ПИ правильному поведению пользователей. Эвристическая оценка заключается в том, что заключаются критерии эвристики оценки ПИ. Обычно достаточно 3-5 экспертов, результат их оценки по своместному опыту позволяет решить до 75 проблем usability. Оценка на основе анализа процесса разработки проводится с использованием данных об аналогичных разработках. Оценка выводится на основе моделирования реальной модели. Возможности ПИ исследуются на основе когнитивных моделей. Методы, основанные на участии пользователей: 1) экспериментальные; 2) методы наблюдения; 3) физиологические. Экспериментальные методы обычно имеют целью подтвердить либо опровергнуть какую-либо гипотезу. Переменные экспериментальных методов могут быть зависимыми либо независимыми, в зависимости от стиля ПИ, количества пунктов меню и т. п., времени тех или иных действий, количества ошибок. В целом групповые эксперименты имеют малую отдачу и большую стоимость. Методы наблюдения: размышления вслух, анализ протокола работы. Физиологические методы исследуют время и траекторию взора по ПИ, артериальное давление, частоту сердечных сокращений, наполнение пульса. Оценка ПИ проводится по следующим критериям: скорость работы пользователей, количество ошибок пользователей, скорость обучения субъективному удовлетворению. Скорость работы пользователя: длительность работы пользователя состоит из времени восприятия исходной информации, интеллектуальной работы (больше всего времени). Хороший интерфейс устраняет замедляющие мышление пользователя факторы. В контекстных меню расстояние до любого элемента меню минимально. Реакция системы является наименее значимым фактором. Для определения скорости работы используется чуть ли не единственный метод Бум. Скорость выполнения работы можно повысить: 1) заполнением пауз между событиями: если пользователю показывать индикатор, субъективная продолжительность паузы существенно снижается: чем больше информации, тем быстрее, однако информация может вызвать стресс из-за переполнения оперативной памяти; 2) разделение крупных действий пользователя на более мелкие; при этом количество работы увеличивается, зато субъективная длительность снижается; метод плох тем, что увеличивается усталость. На время работы также оказывает влияние потеря фокуса внимания: т. к. у человека есть только один фокус внимания, при любом отвлечении заменяется содержимое его краткосрочной памяти и надо заново активировать его память; предоставлять пользователю эту информацию лучше визуально, например, в виде конструкции "Страница m из n", но это не слишком эффективно: можно варьировать толщину левой и правой части полей окна. Показать пользователя ранее отданные им команды чрезмерно проблематично, поэтому требуется максимально облегчить переход к предыдущим экранам. У человека фокус внимания обычно совпадает с фокусом ввода. Производительность работы отражает объём затраченных ресурсов, как вычислительных, так и психофизических, при выполнении задачи. Ошибки пользователя -- важный критерий в качестве интерфейса. При борьбе с ошибками нужно направлять усилия на плавное обучение пользователя в процессе работы, пониженные требования к бдительности, повышение разборчивости индикаторов, снижение чувствительности системы к ошибкам: блокировка потенциально опасных действий пользователя до подтвеждения, проверка всех действий перед их принятием, самостоятельный выбор системой команд и параметров и подтверждение пользователем, терпимость системы. Обучение работы, общая понятность системы, обучающие материалы, субъективная удовлетворённость системой (эстетическая привлекательность, уровень психологичекого спокойствия)