Составители:
Рубрика:
115
9.5.3.4. Разработка интерфейса пользователя, описание слотов и событий
В проекте интерфейс будет создаваться вручную, без использования визуальных средств,
предоставляемых Qt Designer. Это связано с тем, что несмотря на внешнюю простоту, работа с Qt
Designer требует уверенного знания принципов и концепций лежащих в основе организации
графического интерфейса средствами Qt. Рассмотрение данных концепций лежит вне предмета
данной работы.
Интерфейс пользователя будет включать выпадающее меню, с использованием которого будет
происходить работа с приложением. Для этих целей в файле “mainwindow.cpp” в конструкторе
MainWindow::MainWindow() добавим строки:
this->fileMenu = new QMenu(tr("&File"), this);
openAction = fileMenu->addAction(tr("&Open..."));
openAction->setShortcut(QKeySequence("Ctrl+O"));
quitAction = fileMenu->addAction(tr("E&xit"));
quitAction->setShortcuts(QKeySequence::Quit);
this->viewMenu = new QMenu(tr("&View"), this);
m_backgroundAction = viewMenu->addAction(tr("&Background"));
m_backgroundAction->setEnabled(false);
m_backgroundAction->setCheckable(true);
m_backgroundAction->setChecked(false);
m_outlineAction = viewMenu->addAction(tr("O&utline"));
m_outlineAction->setEnabled(false);
m_outlineAction->setCheckable(true);
m_outlineAction->setChecked(true);
this->windowBkgMenu = new QMenu(tr("&Background"), this);
m_chessAction = windowBkgMenu->addAction(tr("&Chess"));
m_chessAction->setCheckable(true);
m_chessAction->setChecked(true);
m_meegoAction = windowBkgMenu->addAction(tr("&MeeGo"));
m_meegoAction->setCheckable(true);
QActionGroup *bkgGroup = new QActionGroup(this);
bkgGroup->addAction(m_chessAction);
bkgGroup->addAction(m_meegoAction);
this->langMenu = new QMenu(tr("&Language"), this);
m_engAction = langMenu->addAction(tr("&English"));
m_engAction->setCheckable(true);
m_engAction->setChecked(true);
m_rusAction = langMenu->addAction(tr("&Russian"));
m_rusAction->setCheckable(true);
QActionGroup *langGroup = new QActionGroup(this);
langGroup->addAction(m_rusAction);
langGroup->addAction(m_engAction);
menuBar()->addMenu(this->fileMenu);
menuBar()->addMenu(this->viewMenu);
menuBar()->addMenu(this->windowBkgMenu);
menuBar()->addMenu(this->langMenu);
setCentralWidget(m_view);
setWindowTitle(tr("SVG Viewer"));
Переменные langMenu, windowBkgMenu, viewMenu и другие, описаны в заголовочном файле
“mainwindow.h”. Метод QMenu::addAction добавляет соответствующее действие в выпадающий
пункт меню. Вызовы openAction->setShortcut(QKeySequence("Ctrl+O")) добавляют клавиатурные
Страницы
- « первая
- ‹ предыдущая
- …
- 113
- 114
- 115
- 116
- 117
- …
- следующая ›
- последняя »
