Прикрепляемые виджеты и панели инструментов
Прикрепляемые виджеты и панели инструментов
Прикрепляемыми являются виджеты, которые могут крепиться к определенным областям главного окна приложения QMainWindow или быть независимыми «плавающими» окнами. QMainWindow имеет четыре области крепления таких виджетов: одна сверху, одна снизу, одна слева и одна справа от центрального виджета. В таких приложениях, как Microsoft Visual Studio и Qt Linguist, широко используются прикрепляемые окна для обеспечения очень гибкого интерфейса пользователя. В Qt прикрепляемые виджеты представляют собой экземпляры класса QDockWidget.
Каждый прикрепляемый виджет имеет свой собственный заголовок, даже когда он прикреплен. Пользователи могут перемещать прикрепляемые окна с одного места крепления на другое, передвигая полосу заголовка. Они могут также отсоединять прикрепляемое окно от области крепления и сделать его независимым плавающим окном, располагая прикрепляемое окно вне областей крепления. Свободные плавающие прикрепляемые окна всегда находятся «поверх» их главного окна. Пользователи могут закрыть QDockWidget, щелкая по кнопке закрытия, расположенной в заголовке виджета. Любые комбинации этих возможностей можно отключать с помощью вызова QDockWidget::setFeatures().
Рис. 6.13. QMainWindow с прикрепленным виджетом.
В ранних версиях Qt панели инструментов рассматривались как прикрепляемые виджеты, использующие те же самые области крепления. Начиная с Qt 4 панели инструментов размещаются в собственных областях, расположенных по периметру центрального виджета (как показано на рис. 6.14), и они не могут открепляться. Если требуется иметь плавающую панель инструментов, можно просто поместить ее внутрь QDockWindow.
Рис. 6.14. Области крепления виджетов и области панелей инструментов QMainWindow.
Углы, обозначенные пунктирными линиями, могут принадлежать обеим соседним областям крепления. Например, мы могли бы верхний левый угол назначить левой области крепления с помощью вызова QMainWindow::setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea).
Следующий фрагмент программного кода показывает, как для существующего виджета (в данном случае для QTreeWidget) можно оформить оболочку в виде QDockWidget и вставить ее в правую область крепления:
QDockWidget *shapesDockWidget = new QDockWidget(tr("Shapes"));
shapesDockWidget->setWidget(treeWidget);
shapesDockWidget->setAllowedAreas(Qt::LeftDockWidgetArea
| Qt::RightDockWidgetArea);
addDockWidget(Qt::RightDockWidgetArea, shapesDockWidget);
В вызове setAllowedAreas() задаются допустимые области крепления прикрепляемого окна. В нашем случае мы позволяем пользователю перетаскивать прикрепляемое окно только в левую или правую область крепления, где имеется достаточно пространства по вертикали для его нормального отображения. Если допустимые области не задаются явно, пользователь может перетаскивать прикрепляемое окно в любую из четырех областей.
Ниже приводится фрагмент из конструктора подкласса QMainWindow, который показывает, как можно создавать панель инструментов, содержащую QComboBox, QSpinBox и несколько кнопок QToolButton:
QToolBar *fontToolBar = new QToolBar(tr("Font"));
fontToolBar->addWidget(familyComboBox);
fontToolBar->addWidget(sizeSpinBox);
fontToolBar->addAction(boldAction);
fontToolBar->addAction(italicAction);
fontToolBar->addAction(underlineAction);
fontToolBar->setAllowedAreas(Qt::TopToolBarArea
| Qt::BottomToolBarArea);
addToolBar(fontToolBar);
Если мы хотим сохранять позиции всех прикрепляемых виджетов и панелей инструментов, чтобы иметь возможность их восстановления при следующем запуске приложения, мы можем написать почти такой же программный код, как для сохранения состояния разделителя QSplitter, используя функции класса QMainWindow saveState() и restoreState():
01 void MainWindow::writeSettings()
02 {
03 QSettings settings("Software Inc.", "Icon Editor");
04 settings.beginGroup("mainWindow");
05 settings.setValue("size", size());
06 settings.setValue("state", saveState());
07 settings.endGroup();
08 }
09 void MainWindow::readSettings()
10 {
11 QSettings settings("Software Inc.", "Icon Editor");
12 settings.beginGroup("mainWindow");
13 resize(settings.value("size").toSize());
14 restoreState(settings.value("state").toByteArray());
15 settings.endGroup();
16 }
Наконец, QMainWindow обеспечивает контекстное меню, в котором представлены все прикрепляемые окна и панели инструментов. Используя это меню, пользователь может закрывать и восстанавливать прикрепляемые окна и панели инструментов.
Рис. 6.15. Контекстное меню QMainWindow.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
8.3. Панели инструментов
8.3. Панели инструментов Как и более ранние версии операционной системы, Windows 7 также позволяет работать с панелями инструментов для быстрого запуска программ или доступа к ресурсам. Количество подобного рода панелей ограничено лишь вашими потребностями. Кроме того,
Панели инструментов
Панели инструментов Команды AutoCAD на панелях инструментов представлены в виде пиктограмм. Если задержать указатель мыши на пиктограмме, рядом с ней появляется название соответствующей команды, помещенное в маленький прямоугольник.Если в правом нижнем углу пиктограммы
Панели инструментов
Панели инструментов По умолчанию главная панель инструментов отображается под строкой меню в верхней части окна программы.Использование панелей инструментов – один из наиболее удобных способов выполнения большинства команд, для чего достаточно одного щелчка кнопкой
Панели инструментов
Панели инструментов Панели инструментов являются графическим интерфейсом команд программы AutoCAD, то есть выполняют соответствующие им функции. О назначении кнопки вы можете узнать, подведя к ней указатель мыши. При этом появится всплывающая подсказка с кратким
Глава 9 Панели инструментов
Глава 9 Панели инструментов Панели инструментов в Adobe Photoshop — незаменимые помощники при работе с изображениями. Панели инструментов можно отображать на экране и убирать с него, группировать по собственному усмотрению, изменять размеры и располагать в удобной для вас
Панели инструментов
Панели инструментов Команды AutoCAD на панелях инструментов представлены в виде пиктограмм. Если задержать указатель мыши на пиктограмме, рядом с ней появляется название соответствующей команды, помещенное в маленький прямоугольник.Если в правом нижнем углу пиктограммы
Панели инструментов
Панели инструментов Команды AutoCAD на панелях инструментов представлены в виде пиктограмм. Если задержать указатель мыши на пиктограмме, рядом с ней появляется название соответствующей команды, помещенное в маленький прямоугольник.Если в правом нижнем углу пиктограммы
Панели инструментов
Панели инструментов На панелях инструментов (см. рис. 2.1) расположены кнопки для вызова многих функций программы Sound Forge. Каждая панель содержит набор инструментов для выполнения сходных или связанных между собой задач, поэтому удобно отображать лишь те панели, к которым
Панели инструментов
Панели инструментов Панель инструментов – область графического интерфейса, содержащая элементы управления, выполненные чаще всего в виде кнопок, с помощью которых можно вызвать необходимую команду или меню. С ArchiCAD поставляется 15 предварительно настроенных панелей
Панели инструментов
Панели инструментов Панели инструментов являются графическим интерфейсом команд программы AutoCAD. Визуально это графические кнопки, вызывающие соответствующие им команды. Помимо графического изображения, о назначении кнопки вы можете узнать, подведя к ней указатель
Панели инструментов
Панели инструментов Команды AutoCAD на панелях инструментов представлены в виде пиктограмм. Если задержать указатель мыши на пиктограмме, рядом с ней появляется название соответствующей команды, помещенное в маленький прямоугольник.Если в правом нижнем углу пиктограммы
Перемещение панели инструментов
Перемещение панели инструментов Для перемещения панели инструментов следует прижать маркер на строке заголовка панели инструментов InterWrite и переместить данную панель в нужное место
Перемещение панели инструментов
Перемещение панели инструментов Перемещение панели инструментов (рис. 6.5) в удобное для пользователя место осуществляется с помощью маркера, прижатого к поверхности доски. Для изменения ориентации с вертикальной на горизонтальную необходимо прижать маркер к кнопке
13.1.2. Панели инструментов
13.1.2. Панели инструментов Как уже отмечалось ранее, панели инструментов используются для быстрого доступа к командам главного меню. В большинстве случаев вы будете использовать три панели инструментов, изображенные на рис. 108:Стандартная — дублирует некоторые команды
Панели инструментов
Панели инструментов Как и в любом стандартном окне Windows, в окне Microsoft Word есть строка меню (рис. 3.4) и панели инструментов. Рис. 3.4. Строка меню Microsoft WordПанель инструментов состоит из кнопок со значками (рис. 3.5). Рис. 3.5. Панель инструментовЩелчок по такой кнопке позволяет