Hmm. Wonder what the bug was? It somehow works in the Example web browser that Qt includes with the 5.5.1 download. if I reinvent the history mechanism I could probably work around the issue.
Thanks for the update/confirmation Mike Jackson > On Dec 22, 2015, at 11:18 AM, Croitor Alexandr <alexandru.croi...@digia.com> > wrote: > > Hi. > > I can confirm that it doesn't work in 5.5, but it was fixed for 5.6. > > Regards, Alex. > >> On 22 Dec 2015, at 16:05, Mike Jackson <imikejack...@gmail.com >> <mailto:imikejack...@gmail.com>> wrote: >> >> Ping? >> >> Mike Jackson. >> >>> On Dec 18, 2015, at 2:54 PM, Mike Jackson <imikejack...@gmail.com >>> <mailto:imikejack...@gmail.com>> wrote: >>> >>> We have tried a bunch more ideas and none seem to work. We have tried the >>> following: >>> m_WebView->page()->triggerAction(QWebEnginePage::Back); >>> m_WebView->page()->history()->goToItem( >>> m_WebView->page()->history()->itemAt(1)); >>> m_WebView->page()->triggerAction(QWebEnginePage::Back); >>> >>> >>> None of these work. The documentation for QWebEngineView _says_ it should >>> work. Does anyone have any ideas? >>> >>> Thanks >>> Mike Jackson >>> >>>> On Dec 16, 2015, at 3:13 PM, Mike Jackson <imikejack...@gmail.com >>>> <mailto:imikejack...@gmail.com>> wrote: >>>> >>>> I have an small app that uses QWebEngineView to display web pages. We have >>>> tried hooking up a pair of QPushButtons to invoke the forward and back in >>>> the QWebEngineHistory but neither seem to work. The QActions are getting >>>> triggered and our code is correctly calling them but the QWebEngineView >>>> does not actually load the previous page from its history. We have printed >>>> out the history each time the button is clicked and the history is >>>> correctly navigated. I am sure we have missed something simple that needs >>>> to be performed. Maybe some sort of setup of the QWebEngineView or >>>> something? I am pasting in our simple application hoping that someone can >>>> spot the error. >>>> Thanks >>>> Mike Jackson >>>> >>>> ———main.cpp————— >>>> #include <QApplication> >>>> #include "WebTest_UI.h" >>>> int main(int argc, char* argv[]) >>>> { >>>> >>>> QApplication app(argc, argv); >>>> >>>> QCoreApplication::setOrganizationDomain("Foo"); >>>> QCoreApplication::setOrganizationName("Bar"); >>>> QCoreApplication::setApplicationName("WebTest_UI"); >>>> >>>> #if defined (Q_OS_MAC) >>>> app.setQuitOnLastWindowClosed( true ); >>>> #endif >>>> >>>> QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); >>>> >>>> WebTest_UI* helper = WebTest_UI::Instance(); >>>> helper->show(); >>>> >>>> return app.exec(); >>>> } >>>> >>>> ——WebTest_UI.h————— >>>> #ifndef _WebTest_UI_H_ >>>> #define _WebTest_UI_H_ >>>> #include <QtWidgets/QWidget> >>>> #include <QtWidgets/QPushButton> >>>> #include <QtWebEngineWidgets/QWebEngineView> >>>> class WebTest_UI : public QWidget >>>> { >>>> Q_OBJECT >>>> public: >>>> virtual ~WebTest_UI(); >>>> static WebTest_UI* Instance(); >>>> protected: >>>> WebTest_UI(); >>>> protected slots: >>>> void goBack(bool b); >>>> private: >>>> static WebTest_UI* self; >>>> QWebEngineView* m_WebView; >>>> QPushButton* forwardBtn; >>>> QPushButton* backBtn; >>>> WebTest_UI(const WebTest_UI&); // Copy Constructor Not Implemented >>>> void operator=(const WebTest_UI&); // Operator '=' Not Implemented >>>> }; >>>> #endif /* _WebTest_UI_H */ >>>> >>>> ——WebTest_UI.cpp————— >>>> #include "WebTest_UI.h" >>>> #include <QtCore/QFileInfo> >>>> #include <QtCore/QDir> >>>> #include <QtWidgets/QGridLayout> >>>> #include <QtWidgets/QMessageBox> >>>> #include <QtWidgets/QAction> >>>> #include <QtWebEngineWidgets/QWebEngineHistory> >>>> // Include the MOC generated CPP file which has all the QMetaObject >>>> methods/data >>>> #include "moc_WebTest_UI.cpp" >>>> >>>> WebTest_UI* WebTest_UI::self = NULL; >>>> // >>>> ----------------------------------------------------------------------------- >>>> WebTest_UI::WebTest_UI() >>>> { >>>> Q_ASSERT_X(!self, "WebTest_UI", "There should be only one WebTest_UI >>>> object"); >>>> >>>> WebTest_UI::self = this; >>>> >>>> // Create the web view >>>> m_WebView = new QWebEngineView(NULL); >>>> m_WebView->setObjectName(QStringLiteral("m_WebView")); >>>> QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Expanding); >>>> sizePolicy1.setHorizontalStretch(0); >>>> sizePolicy1.setVerticalStretch(0); >>>> >>>> sizePolicy1.setHeightForWidth(m_WebView->sizePolicy().hasHeightForWidth()); >>>> m_WebView->setSizePolicy(sizePolicy1); >>>> m_WebView->setUrl(QUrl(QStringLiteral("about:blank"))); >>>> QGridLayout* gridLayout = new QGridLayout(this); >>>> gridLayout->addWidget(m_WebView, 2, 0, 1, 2); >>>> m_WebView->load(QUrl("http://download.qt.io <http://download.qt.io/>")); >>>> m_WebView->show(); >>>> >>>> backBtn = new QPushButton("Back"); >>>> gridLayout->addWidget(backBtn, 1, 0, 1, 1); >>>> connect(backBtn, SIGNAL(clicked(bool)), >>>> this, SLOT(goBack(bool))); >>>> >>>> forwardBtn = new QPushButton("Forward"); >>>> gridLayout->addWidget(forwardBtn, 1,1,1,1); >>>> >>>> self->setWindowFlags(this->windowFlags() & >>>> ~Qt::WindowContextHelpButtonHint); >>>> >>>> #if defined (Q_OS_MAC) >>>> QAction* closeAction = new QAction(this); >>>> closeAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_W)); >>>> connect(closeAction, SIGNAL(triggered()), this, SLOT(close())); >>>> addAction(closeAction); >>>> #endif >>>> } >>>> // >>>> ----------------------------------------------------------------------------- >>>> WebTest_UI::~WebTest_UI() {} >>>> // >>>> ----------------------------------------------------------------------------- >>>> WebTest_UI* WebTest_UI::Instance() >>>> { >>>> if (self == NULL) >>>> { >>>> self = new WebTest_UI(); >>>> } >>>> return self; >>>> } >>>> // >>>> ----------------------------------------------------------------------------- >>>> void WebTest_UI::goBack(bool b) >>>> { >>>> QList<QWebEngineHistoryItem> backHistory = >>>> m_WebView->history()->backItems(10000); >>>> QList<QWebEngineHistoryItem> forwardHistory = >>>> m_WebView->history()->forwardItems(10000); >>>> qDebug() << "Before:" << backHistory.size() << " " << >>>> forwardHistory.size(); >>>> m_WebView->back(); >>>> backHistory = m_WebView->history()->backItems(10000); >>>> forwardHistory = m_WebView->history()->forwardItems(10000); >>>> qDebug() << "Current History Index:" << >>>> m_WebView->history()->currentItemIndex(); >>>> qDebug() << "After:" << backHistory.size() << " " << >>>> forwardHistory.size(); >>>> } >>>> >>>> >>> >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org <mailto:Interest@qt-project.org> >> http://lists.qt-project.org/mailman/listinfo/interest >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest