QWebView within QTabWidget: Calling a URL crash the whole Program

  • Hello.

    I have created a new QTabWidget and added a TextEditor and a QWebView.

    The Problem is, when i try to open a URL, the complete Program crash. I know i am missing something.

    Here is part of the Code from mainwindow.h
    Ui::MainWindow *ui;
    QTabWidget *tabWidgetMainWindow;
    QWebView *BrowserModule;
    QTextEdit *textEditor;

    Part of mainwindow.cpp:
    //QTextEdit for use in the tabWidgetMainWindow
    QTextEdit *textEditor = new QTextEdit;
    //The QWebView - But how can i Access+use it within the QTabWidget
    QWebView *BrowserModule = new QWebView;

    //New QTabWidget in the QMainWindow
    QTabWidget *tabWidgetMainWindow = new QTabWidget(this);
    tabWidgetMainWindow->addTab(textEditor, "Editor");
    tabWidgetMainWindow->addTab(BrowserModule, "Browser");
    //Activate the whole thing in the last step
    //Keep this thing off as it kills the QTabWidget...


    This Action is used to open the URL (its a Menu Point):
    void MainWindow::ListeAllerAKPads()
    QString link = "http://wiki.piratenpartei.de";

    The Noob :)

  • Lifetime Qt Champion


    You are shadowing (i.e. calling a local variable the same name as a member variable) your member variables in your constructor so they are not initialized.

  • Thanks for the Description whats going on.

    But what is the correct or at least working way to Access the QWebView within the QTabWidget?

    When i remove / disable
    QWebView *BrowserModule;

    from the Header File, i got the Compile Error
    "BrowserModule was not declared in this scope"

  • Lifetime Qt Champion

    As silly as it sounds, just don't shadow your member variables. Use them in the constructor

  • Well i am not sure how to do that but i will look into it. Thanks

  • Lifetime Qt Champion

    @QTextEdit *textEditor = new QTextEdit;@


    @textEditor = new QTextEdit;@

  • [quote author="SGaist" date="1391373069"]replace
    @QTextEdit *textEditor = new QTextEdit;@


    @textEditor = new QTextEdit;@

    Wow thanks. You know what: That really works lol
    Such a simple change - sometimes i really hate my schizophrenic Brain.

    Thank You!

  • Lifetime Qt Champion

    Well… I try to give solutions that work :D

    You're welcome !

    Now that it's working, please update your thread title prepending [solved] so other forum users may know a solution has been found :)

Log in to reply