Функция
01 void Editor::setCurrentFile(const QString &fileName)
02 {
03 curFile = fileName;
04 isUntitled = false;
05 action->setText(strippedName(curFile));
06 document()->setModified(false);
07 setWindowTitle(strippedName(curFile) + "[*]");
08 setWindowModified(false);
09 }
Функция
01 QSize Editor::sizeHint() const
02 {
03 return QSize(72 * fontMetrics().width('x'),
04 25 * fontMetrics().lineSpacing());
05 }
Функция
Ниже приводится файл
01 #include
02 #include "mainwindow.h"
03 int main(int argc, char *argv[])
04 {
05 QApplication app(argc, argv);
06 QStringList args = app.arguments();
07 MainWindow mainWin;
08 if (args.count() > 1) {
09 for (int i = 1; i < args.count(); ++i)
10 mainWin.openFile(args[i]);
11 } else {
12 mainWin.newFile();
13 }
14 mainWin.show();
15 return app.exec();
16 }
Еслй пользователь задает в командной строке какие-нибудь файлы, мы пытаемся их загрузить, в противном случае мы начинаем работу с пустым документом. Такие характерные для Qt опции командной строки, как
mdieditor -style motif readme.txt
Интерфейс MDI представляет собой один из способов работы одновременно со многими документами. В системе MacOS Х более предпочтителен подход, связанный с применением нескольких окон верхнего уровня. Этот подход рассматривается в разделе «Работа со многими документами» главы З.
Глава 7. Обработка событий
События генерируются оконной системой или Qt в ответ на различные действия. Когда пользователь нажимает или отпускает клавишу или кнопку мышки, генерируется событие клавиши клавиатуры или кнопки мышки; когда окно впервые выводится на экран, генерируется событие рисования, указывая появившемуся окну на необходимость его прорисовки. Большинство событий генерируются в ответ на действия пользователя, но некоторые события, например, события таймера, генерируются самой системой и не зависят от действий пользователя.
При программировании в Qt нам редко приходится думать о событиях, поскольку виджеты Qt сами генерируют сигналы в ответ на любое существенное событие. События становятся полезными при создании нами своих сооственных виджетов, или когда мы хотим модифицировать поведение существующих виджетов Qt.