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> 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
> http://lists.qt-project.org/mailman/listinfo/interest

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to