У меня тут проблема.
Я создаю приложение Qt, которое использует slideStackedWidgets для перемещения с одной страницы на другую.
У меня есть 2 панели инструментов, topToolBar и bottomToolBar, которые не скользят при перемещении центрального виджета.
Итак, я объявил QAction в моем mainWindow.h
QAction *backToMainVert;
И в моем mainWindow.cpp, когда я вызываю второе представление нажатием кнопки, я вызываю метод slideInAdd (), который выглядит следующим образом:
slidingStacked->slideInIdx(1); //this takes me back to my second page
backToMainVert = this->topToolBar->addWidget(backBarButton);
//this adds a backButton to the topToolBar
Теперь backBarButton подключен к методу slideToMain (), который при запуске возвращает меня на мою первую страницу и удаляет backBarButton из topToolBar
this->topToolBar->removeAction(backToMainVert);
slidingStacked->slideInIdx(0);
При первом переключении на вторую страницу, нет проблем, моя кнопка создается и отображается на моем topToolBar.
Когда я нажимаю кнопку backBarButton, она возвращается на первую страницу.
НО во второй раз, когда я хочу вернуться с первой страницы на вторую страницу, backBarButton никогда не появляется.
Э-э, может, это поможет, вот как я создаю свой экземпляр backBarButton:
backBarButton = new QToolButton(this);
backBarButton->setText("Retour");
backBarButton->setFixedSize(80,30);
backBarButton->setStyleSheet("background-image: url(:/ToolBarButton.png);"
"background-repeat: no-repeat;"
"background-position: center center;"
"border:0;"
"color : white;"
"font-family: System;"
"font-style: bold;"
"font-size: 9pt;"
"color : white;");
Есть идеи, что мне здесь не хватает, пожалуйста?
Заранее спасибо, я застрял.
Мики Майк
Hello World,
Может ли кто-нибудь предложить другой способ достижения панели инструментов?
Я хотел бы найти сам, но отладчик внутри Qt
не дает мне много деталей. Это даже не останавливается на моей точке останова.
С чего мне начать?
Спасибо за вашу помощь.
Mike
Хорошо, ребята,
Кажется, что единственный путь - это добавить QAction к topToolBar в методе slideInAdd ().
void MainWindow::slideInAdd(){
slidingStacked->setVerticalMode(true);
slidingStacked->slideInIdx(1);
backAction = new QAction(QIcon(":/ToolBarButton.png"), tr("&Retour"), this);
topToolBar->addAction(backAction);
connect(this->backAction,SIGNAL(triggered()),this, SLOT(slideInMainVert()));
}
и это в методе slideInMainVert ():
this->topToolBar->removeAction(backAction);
Это работает таким образом, но проблема в том, что я не могу понять, как настроить QToolButton, который появляется в topToolBar. Я бы хотел, чтобы он был больше размера по умолчанию (скажем ... 100x30) с некоторым текстом на нем (как на самом деле кнопка).
Не могли бы вы помочь мне, пожалуйста?
Большое спасибо ...
Mike