Создание и настройка строки состояния
Создание и настройка строки состояния
После создания меню и панелей инструментов мы готовы приступить к созданию строки состояния приложения Электронная таблица.
Обычно строка состояния содержит два индикатора: положение текущей ячейки и формулу текущей ячейки. Полоса состояния также используется для вывода подсказок и других временных сообщений.
Для создания строки состояния в конструкторе MainWindow вызывается функция createStatusBar():
01 void MainWindow::createStatusBar()
02 {
03 locationLabel = new QLabel(" W999 ");
04 locationLabel->setAlignment(Qt::AlignHCenter);
05 locationLabel->setMinimumSize(locationLabel->sizeHint());
06 formulaLabel = new QLabel;
07 formulaLabel->setIndent(3);
08 statusBar()->addWidget(locationLabel);
09 statusBar()->addWidget(formulaLabel, 1);
10 connect(spreadsheet, SIGNAL(currentCellChanged(int, int, int, int)),
11 this, SLOT(updateStatusBar()));
12 connect(spreadsheet, SIGNAL(modified()),
13 this, SLOT(spreadsheetModified()));
14 updateStatusBar();
15 }
Функция QMainWindow::statusBar() возвращает указатель на строку состояния. (Строка состояния создается при первом вызове функции statusBar.) В качестве индикаторов состояния просто используются текстовые метки QLabel, текст которых изменяется по мере необходимости. Мы добавили отступ для formulaLabel, чтобы указанный здесь текст отображался с небольшим смещением от левого края. При добавлении текстовых меток QLabel в строку состояния они автоматически становятся дочерними по отношению к строке состояния.
Рис. 3.8 показывает, что эти две текстовые метки занимают различное пространство. Индикатор ячейки занимает очень немного места, и при изменении размеров окна дополнительное пространство будет использовано для правого индикатора, где отображается формула ячейки. Это достигается путем установки фактора растяжения на 1 при вызове функции QStatusBar::addWidget() для формулы ячейки при создании двух других индикаторов. Для индикатора позиции фактор растяжения по умолчанию равен 0, и поэтому он не будет растягиваться.
Рис. 3.8. Строка состояния приложения Электронная таблица.
Когда QStatusBar располагает виджеты индикаторов, он постарается обеспечить «идеальный» размер виджетов, заданный функцией QWidget::sizeHint(), и затем растянет виджеты, которые допускают растяжение, заполняя дополнительное пространство. Идеальный размер виджета зависит от его содержания и будет сам изменяться по мере изменения содержания. Чтобы предотвратить постоянное изменение размера индикатора ячейки, мы устанавливаем его минимальный размер на значение, достаточное для размещения в нем самого большого возможного текстового значения («W999»), и добавляем еще немного пространства. Мы также устанавливаем его параметр выравнивания на значение AlignHCenter для выравнивания по центру текста в области индикатора.
Перед завершением функции мы соединяем два сигнала Spreadsheet с двумя слотами главного окна MainWindow: updateStatusBar() и spreadsheetModified().
01 void MainWindow::updateStatusBar()
02 {
03 locationLabel->setText(spreadsheet->currentLocation());
04 formulaLabel->setText(spreadsheet->currentFormula());
05 }
Слот updateStatusBar() обновляет индикаторы расположения ячейки и формулы ячейки. Он вызывается при любом перемещении пользователем курсора ячейки на новую ячейку. В конце функции createStatusBar() этот слот используется как обычная функция для инициализации индикаторов. Это необходимо, поскольку Spreadsheet при запуске не генерирует сигнал currentCellChanged().
06 void MainWindow::spreadsheetModified()
07 {
08 setWindowModified(true);
09 updateStatusBar();
10 }
Слот spreadsheetModified() обновляет все три индикатора для отражения ими текущего состояния приложения и устанавливает переменную modified на значение true. (Мы использовали переменную modified при реализации меню File для контроля несохраненных изменений.) Слот spreadsheetModified() устанавливает свойство windowModified в значение true, обновляя строку заголовка. Эта функция обновляет также индикаторы расположения и формулы ячейки, чтобы они отражали текущее состояние.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Создание и настройка виртуальной машины
Создание и настройка виртуальной машины Вероятно, читатель уже догадался, что все операции по управлению виртуальными машинами в Virtual PC выполняются с помощью элементов управления, размещенных в окне консоли Virtual PC Console. Поэтому рассказ о виртуальных машинах мы начнем с
Создание и настройка виртуальной машины
Создание и настройка виртуальной машины В отличие от Virtual PC, в исходном состояний основное окно VMware объединяет и панель управления виртуальными машинами, и «экраны мониторов» ВМ (они добавляются в виде вкладок в правой части окна при создании
Создание и настройка сети
Создание и настройка сети Сеть типа Bridged NetworkingЕсли при создании ВМ был выбран тип сетевого подключения Bridged Networking, то данная ВМ будет готова работать в сети без дополнительной настройки. При этом виртуальный сетевой адаптер получит доступ к физической сетевой карте
Создание и настройка виртуальной машины
Создание и настройка виртуальной машины Процедура создания виртуальной машины в Parallels Workstation практически ничем не отличается от процедуры создания ВМ в Virtual PC или в VMware все необходимые действия выполняет соответствующий мастер, а пользователю остается лишь принимать
Настройка состояния службы
Настройка состояния службы Теперь, когда управляющая программа зарегистрирована, необходимо сразу же перевести службу в состояние SERVICE_START_PENDING, воспользовавшись для этого функцией SetServiceStatus. Функция SetServiceStatus будет применяться еще в других местах для установки различных
Создание и настройка локальной сети
Создание и настройка локальной сети Готовая сеть, конечно же, дело хорошее… Но, увы, в коробке из компьютерного магазина ее, как ноутбук, не принесешь. И все чаще даже у пользователей-новичков встречаются ситуации, когда сеть необходимо создавать с нуля, под свои нужды и
Создание синонимов к адресам адресной строки
Создание синонимов к адресам адресной строки Другой возможностью, которую предоставляет пользователям браузер Internet Explorer, является возможность создания синонимов к адресам Интернета. Например, гораздо легче ввести в адресной строке что-то вроде about:vasia, чем
Создание и настройка домашней группы
Создание и настройка домашней группы Домашняя группа создается автоматически при установке операционной системы. Поскольку в предыдущих версиях Windows данный механизм отсутствовал, объединить в домашнюю группу можно только компьютеры, работающие под управлением Windows 7.
Создание, удаление и настройка слоев
Создание, удаление и настройка слоев Для работы со слоями предназначена палитра Layers (Слои) (рис. 10.2) и меню Layer (Слой). Рис. 10.2. Палитра Layers (Слои)Часть действий может быть выполнена несколькими способами: например, поменять слои местами в стопке слоев можно, как используя
Настройка компилятора командной строки для C#
Настройка компилятора командной строки для C# Чтобы использовать компилятор командной строки для C#, нужно, чтобы ваша система могла найти файл csc.exe. Если машина сконфигурирована неправильно, то при компиляции файлов C# вам придется указать полный путь к файлу csc.exe.Чтобы
Создание и настройка книги чертежей
Создание и настройка книги чертежей В главе 2 упоминалось о том, что палитра Navigator (Навигатор) позволяет просматривать структуру проекта с помощью вариантов просмотра – карт. Для создания и просмотра иерархической структуры документации проекта предназначена карта Layout
Создание и настройка книги чертежей
Создание и настройка книги чертежей Вы уже привыкли работать с палитрой Navigator (Навигатор), обращаясь к ней по мере необходимости. Наиболее часто использовалась отображаемая по умолчанию его карта Project Map (Карта проекта), в которой расположены планы этажей, разрезы и фасады,
Создание и настройка шаблонов листов чертежей
Создание и настройка шаблонов листов чертежей Переходим к созданию шаблонов листов чертежей. На примере создания формата А4 рассмотрим основные приемы работы с шаблонами.В ArchiCAD по умолчанию имеются стандартные шаблоны листов чертежей, расположенные в папке Masters
ГЛАВА 5 СОЗДАНИЕ И НАСТРОЙКА СИСТЕМНОЙ ИНФРАСТРУКТУРЫ
ГЛАВА 5 СОЗДАНИЕ И НАСТРОЙКА СИСТЕМНОЙ ИНФРАСТРУКТУРЫ Надежная работа производственной системы с оптимальной производительностью является одной из наиболее важных задач системного администратора. Другой жизненно важной задачей является исключение проблем, которые
5.3 Мониторинг состояния системы, устранение ошибок, восстановление утерянных файлов и защита данных Анализ состояния аппаратной части системы
Введение Как и всякая техника, персональный компьютер нуждается в техническом обслуживании, настройке и наладке. Небрежное отношение к своей машине приводит к тому, что работа компьютера становится нестабильной и не эффективной. А потом происходит сбой, и компьютер
Урок 3.4. Электронная почта. Создание и настройка почтовых ящиков
Урок 3.4. Электронная почта. Создание и настройка почтовых ящиков Общие сведения об электронной почте Электронная почта – одна из наиболее давних и популярных услуг Интернета. Она позволяет пользователям Сети обмениваться текстовыми сообщениями и пересылать файлы