Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Slots and signals from different classes

Slots and signals from different classes

Scheduled Pinned Locked Moved General and Desktop
42 Posts 5 Posters 20.0k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    nicky j
    wrote on last edited by
    #7

    Okay so ive gotten my program to compile. but when I click the addTabButton, it does nothing. The compiler outputs: "QObject::connect: Cannot connect QToolButton::clicked() to (null)::newTab()"

    here is the code:

    browseTab.h:
    @#ifndef BROWSETAB_H
    #define BROWSETAB_H

    #include <QWidget>
    #include <QPointer>
    #include <QLineEdit>
    #include <QWebView>
    #include <QToolBar>

    #include "mainview.h"
    #include <mainview.h>

    class mainView;

    class browseTab : public QWidget
    {
    Q_OBJECT
    public:
    explicit browseTab(QWidget *parent = 0);

    signals:

    protected slots:
    void makeSearchURL();
    void makeSearch();
    void changeText();
    void changeTabText();

    private:
    QWebView *webView;
    QToolBar *navBar;
    QLineEdit *URLbar;
    QLineEdit *SearchBar;
    QToolButton *addTabButton;
    mainView *mainView_object_pointer;

    };

    #endif // BROWSETAB_H
    @

    browsetab.cpp:

    @#include "browsetab.h"
    #include "mainview.h"

    #include <QtWidgets>

    browseTab::browseTab(QWidget *parent) :
    QWidget(parent),
    mainView_object_pointer()
    {
    addTabButton = new QToolButton;
    addTabButton->setText("+");
    connect(addTabButton, SIGNAL(clicked()), mainView_object_pointer, SLOT(newTab()));
    }
    @

    mainview.h:

    @#ifndef MAINVIEW_H
    #define MAINVIEW_H

    #include <QMainWindow>
    #include <QToolButton>
    #include <QMessageBox>

    #include "apptab.h"
    #include "browsetab.h"
    #include "novablastreceiver.h"
    #include "novablastsender.h"

    class mainView : public QMainWindow
    {
    Q_OBJECT

    public:
    mainView(QWidget *parent = 0);
    ~mainView();

    signals:

    public slots:
    void newTab();

    protected slots:
    void newWindow();
    void closeTab(int index);
    void newAppTab();

    void setFullscreen();
    void setMaximized();
    void setWindowed();
    
    void startNBSender();
    void startNBReceiver();
    

    private:
    QTabWidget *tabWidget;
    QToolButton *newTabButton;
    QToolButton *newAppTabButton;
    QToolButton *menuButton;
    QAction *NBSenderAction;
    QAction *NBReceiverAction;
    QAction *FullscreenAction;
    QAction *MaximizedAction;
    QAction *WindowedAction;
    QAction *NewWindowAction;
    QAction *NewTabAction;
    QAction *AppsAction;
    QAction *BookmarksAction;
    QAction *HistoryAction;
    appTab *Apps;
    QMenu *menuButtonMenu;
    QMenu *toolMenu;
    QMenu *viewMenu;
    QWidget *mainWidget;
    QDialog *receiverDialog;
    QDialog *senderDialog;
    Receiver *newNBReceiver;
    Sender *newNBSender;

    };

    #endif // MAINVIEW_H
    @

    mainview.cpp:

    @#include <QtWidgets>

    #include "mainview.h"

    mainView::mainView(QWidget *parent)
    : QMainWindow(parent)
    {
    void mainView::newTab()
    {
    tabWidget->addTab(new browseTab, tr("Search"));
    }
    }
    @

    How can I make the addTabButton actually call the newTab() slot in main view.cpp

    It doesn't seem to work

    1 Reply Last reply
    0
    • K Offline
      K Offline
      kpks
      wrote on last edited by
      #8

      i am pretty new too, but, I don't see where you assign your pointer to the mainview.

      1 Reply Last reply
      0
      • E Offline
        E Offline
        eyenov
        wrote on last edited by
        #9

        if you are doing the "connect" call inside one of your mainView's functions, you can call it like this:

        @connect(addTabButton, SIGNAL(clicked()), this, SLOT(newTab()));@

        It should work...

        1 Reply Last reply
        0
        • N Offline
          N Offline
          nicky j
          wrote on last edited by
          #10

          The connect is being called from browseTab, and the slot I want executed is in mainView. Help would be greatly appreciated!

          1 Reply Last reply
          0
          • E Offline
            E Offline
            eyenov
            wrote on last edited by
            #11

            Change your browsetab.cpp to:

            @#include "browsetab.h"
            #include "mainview.h"

            #include <QtWidgets>

            browseTab::browseTab(QWidget *parent) :
            QWidget(parent),
            mainView_object_pointer(parent->parent())
            {
            addTabButton = new QToolButton;
            addTabButton->setText("+");
            connect(addTabButton, SIGNAL(clicked()), mainView_object_pointer, SLOT(newTab()));
            }@

            And when creating the tab, change to this:

            @
            #include <QtWidgets>

            #include "mainview.h"

            mainView::mainView(QWidget *parent)
            : QMainWindow(parent)
            {

            //you should create tabWidget passing this as a parameter
            tabWidget = new QTabWidget(this);

            }

            void mainView::newTab()
            {
            tabWidget->addTab(new browseTab(tabWidget), tr("Search"));
            }
            @

            dont forget that when creating your tabWidget object (in mainView constructor?)you need to pass 'this' pointer for the mainView in the constructor,

            hope this helps...

            1 Reply Last reply
            0
            • N Offline
              N Offline
              nicky j
              wrote on last edited by
              #12

              Okay, although it compiles and runs, the button in the browseTab still won't create a new tab.

              It gives me this error: "QObject::connect: Cannot connect QToolButton::clicked() to (null)::newTab()"

              How do I fix this?
              remember the addTab button is in browseTab, and newTab() is in mainView

              1 Reply Last reply
              0
              • E Offline
                E Offline
                eyenov
                wrote on last edited by
                #13

                Are you sure you changed the way your QTabWidget is being created to:
                @tabWidget = new QTabWidget(this);@

                Just to give you a brief explanation:

                1. you need to create your "tabWidget" with "this" (mainView) as a parent so you can access it on "browseTab" constructor
                2. in "addTab" you need to create your "browseTab" object with "tabWidget" as a parent so you can access it on "browseTab" constructor
                3. you need to set "mainView_object_pointer" to "browseTab" parent's parent
                4. you need to connect "clicked" signal from "addTabButton" to slot "newTab" on "mainView_object_pointer"

                if you are following this, then your "mainView_object_pointer" can't be null as you are saying in the error message.

                1 Reply Last reply
                0
                • N Offline
                  N Offline
                  nicky j
                  wrote on last edited by
                  #14

                  Ok so I think my problem is number 2. How can I make browseTab with tabWidget as a parent? Thanks for the help!

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    eyenov
                    wrote on last edited by
                    #15

                    In your "newTab" function create your new "browseTab" object with "tabWidget" as a parameter.

                    @void mainView::newTab()
                    {
                    tabWidget->addTab(new browseTab(tabWidget), tr("Search"));
                    }@

                    1 Reply Last reply
                    0
                    • N Offline
                      N Offline
                      nicky j
                      wrote on last edited by
                      #16

                      Okay Ive tried that and now I get an error:

                      "error: cannot initialize a member subobject of type 'mainView *' with an rvalue of type 'QObject *'
                      mainView_object_pointer(parent->parent())"

                      1 Reply Last reply
                      0
                      • E Offline
                        E Offline
                        eyenov
                        wrote on last edited by
                        #17

                        In browseTab.h where you have:
                        @mainview *mainView_object_pointer;@

                        change to:
                        @QObject *mainView_object_pointer;@

                        1 Reply Last reply
                        0
                        • N Offline
                          N Offline
                          nicky j
                          wrote on last edited by
                          #18

                          hmmmm, just did that. The program appears to compile just fine and starts to run (the icon on the dock starts to bounce), it crashes and says "the program has unexpectedly finished" which is obviously not very helpful. I am running Qt Creator on OS X 10.9 if that matters. What do I do?

                          1 Reply Last reply
                          0
                          • E Offline
                            E Offline
                            eyenov
                            wrote on last edited by
                            #19

                            You can send me the code if you want to for me to check it out, Will it run on windows or does it have any macosx dependencies?

                            1 Reply Last reply
                            0
                            • N Offline
                              N Offline
                              nicky j
                              wrote on last edited by
                              #20

                              browseTab.h:
                              @#ifndef BROWSETAB_H
                              #define BROWSETAB_H

                              #include <QWidget>
                              #include <QPointer>
                              #include <QLineEdit>
                              #include <QWebView>
                              #include <QToolBar>
                              #include <QObject>

                              #include "mainview.h"
                              #include <mainview.h>

                              class mainView;

                              class browseTab : public QWidget
                              {
                              Q_OBJECT
                              public:
                              explicit browseTab(QWidget *parent = 0);

                              signals:

                              protected slots:
                              //void makeSearchURL();
                              void makeSearch();
                              void changeText();
                              void changeTabText();

                              private:
                              QWebView *webView;
                              QToolBar *navBar;
                              //QLineEdit *URLbar;
                              QLineEdit *SearchBar;
                              QToolButton *addTabButton;
                              QObject *mainView_object_pointer;

                              };

                              #endif // BROWSETAB_H
                              @

                              browseTab.cpp:
                              @#include "browsetab.h"
                              #include "mainview.h"

                              #include <QtWidgets>

                              browseTab::browseTab(QWidget *parent) :
                              QWidget(parent),
                              mainView_object_pointer(parent->parent())
                              {
                              QString url = "http://www.google.com";

                              webView = new QWebView;
                              webView->load(url);
                              connect(webView, SIGNAL(loadFinished(bool)), SLOT(changeText()));
                              connect(webView, SIGNAL(loadFinished(bool)), SLOT(changeTabText()));
                              

                              /*
                              URLbar = new QLineEdit(this);
                              URLbar->setStyleSheet(
                              "background-color:white;"
                              "color:black;"
                              "border:1px solid rgba(47, 74, 135);"
                              );
                              connect(URLbar, SIGNAL(returnPressed()), SLOT(makeSearchURL()));
                              */
                              SearchBar = new QLineEdit(this);
                              SearchBar->setStyleSheet(
                              "background-color:white;"
                              "color:black;"
                              "border:1px solid black;"
                              "margin-top:0px;"
                              "margin-bottom:0px;"
                              );
                              connect(SearchBar, SIGNAL(returnPressed()), SLOT(makeSearch()));

                              addTabButton = new QToolButton;
                              addTabButton->setText("+");
                              connect(addTabButton, SIGNAL(clicked()), mainView_object_pointer, SLOT(newTab()));
                              
                              QToolBar *navBar = new QToolBar;
                              navBar->setStyleSheet(
                                          "height:20px;"
                                          );
                              navBar->addAction(webView->pageAction(QWebPage::Back));
                              navBar->addAction(webView->pageAction(QWebPage::Forward));
                              navBar->addAction(webView->pageAction(QWebPage::Reload));
                              navBar->addAction(webView->pageAction(QWebPage::Stop));
                              //navBar->addWidget(URLbar);
                              navBar->addWidget(SearchBar);
                              navBar->addWidget(addTabButton);
                              
                              QVBoxLayout *browseTabLayout = new QVBoxLayout;
                              browseTabLayout->addWidget(navBar);
                              browseTabLayout->addWidget(webView);
                              setLayout(browseTabLayout);
                              

                              }

                              //browseTab-- SLOTS

                              void browseTab::changeText()
                              {
                              SearchBar->setText(webView->url().toString());
                              }

                              void browseTab::changeTabText()
                              {

                              }
                              /*
                              void browseTab::makeSearchURL()
                              {
                              webView->setUrl(URLbar->text());
                              }
                              */
                              void browseTab::makeSearch()
                              {
                              QString input = SearchBar->text();
                              QUrl query = SearchBar->text();
                              QString google = "/google";
                              QString newsfly = "/newsfly";

                              if(input.startsWith("http://"))
                              {
                                  webView->setUrl(query);
                              }
                              
                              else
                              {
                                  if(input.startsWith("%"))
                                  {
                                      if(input == google)
                                      {
                                          webView->setUrl(QUrl(QString("http://www.google.com/")));
                                      }
                              
                                      if(input == newsfly)
                                      {
                                          webView->setUrl(QUrl(QString("http://www.newsfly.x10.mx/")));
                                      }
                                  }
                              
                                  else
                                  {
                                      webView->setUrl(QUrl(QString("http://www.google.com/search?fs&q=")+(SearchBar-&gt;text())));
                                  }
                              }
                              

                              }

                              @

                              mainview.h:
                              @#ifndef MAINVIEW_H
                              #define MAINVIEW_H

                              #include <QMainWindow>
                              #include <QToolButton>
                              #include <QMessageBox>

                              #include "apptab.h"
                              #include "browsetab.h"
                              //#include "novablastreceiver.h"
                              //#include "novablastsender.h"

                              class mainView : public QMainWindow
                              {
                              Q_OBJECT

                              public:
                              mainView(QWidget *parent = 0);
                              ~mainView();

                              signals:

                              public slots:
                              void newTab();

                              protected slots:
                              void newWindow();
                              void closeTab(int index);
                              void newAppTab();
                              void setFullscreen();
                              void setMaximized();
                              void setWindowed();
                              //void startNBSender();
                              //void startNBReceiver();

                              private:
                              QTabWidget *tabWidget;
                              QToolButton *newTabButton;
                              QToolButton *newAppTabButton;
                              QToolButton *menuButton;
                              QAction *NBSenderAction;
                              QAction *NBReceiverAction;
                              QAction *FullscreenAction;
                              QAction *MaximizedAction;
                              QAction *WindowedAction;
                              QAction *NewWindowAction;
                              QAction *NewTabAction;
                              QAction *AppsAction;
                              QAction *BookmarksAction;
                              QAction *HistoryAction;
                              appTab *Apps;
                              QMenu *menuButtonMenu;
                              QMenu *toolMenu;
                              QMenu *viewMenu;
                              QWidget *mainWidget;
                              QDialog *receiverDialog;
                              QDialog *senderDialog;
                              //Receiver *newNBReceiver;
                              //Sender *newNBSender;

                              };

                              #endif // MAINVIEW_H
                              @

                              fair warning: there is a lot of code to sift through, but much of it is commented out, and you appear to be a great programmer so you shouldn't have any trouble. Thanks for your time!

                              1 Reply Last reply
                              0
                              • N Offline
                                N Offline
                                nicky j
                                wrote on last edited by
                                #21

                                mainview.cpp:
                                @#include <QtWidgets>

                                #include "mainview.h"

                                mainView::mainView(QWidget parent)
                                : QMainWindow(parent)
                                {
                                /

                                NBSenderAction = new QAction(tr("Start NovaBlast Sender"), this);
                                connect(NBSenderAction, SIGNAL(triggered()), SLOT(startNBSender()));

                                NBReceiverAction = new QAction(tr("Start NovaBlast Receiver"), this);
                                connect(NBReceiverAction, SIGNAL(triggered()), SLOT(startNBReceiver()));
                                

                                */
                                QMenu *toolMenu = new QMenu("Tools");
                                //toolMenu->addAction(NBSenderAction);
                                //toolMenu->addAction(NBReceiverAction);

                                FullscreenAction = new QAction(tr("Fullscreen"), this);
                                connect(FullscreenAction, SIGNAL(triggered()), SLOT(setFullscreen()));
                                
                                MaximizedAction = new QAction(tr("Maximize"), this);
                                connect(MaximizedAction, SIGNAL(triggered()), SLOT(setMaximized()));
                                
                                WindowedAction = new QAction(tr("Window"), this);
                                connect(WindowedAction, SIGNAL(triggered()), SLOT(setWindowed()));
                                
                                QMenu *viewMenu = new QMenu("View");
                                viewMenu->addAction(FullscreenAction);
                                viewMenu->addAction(MaximizedAction);
                                viewMenu->addAction(WindowedAction);
                                
                                NewWindowAction = new QAction(tr("New Window"), this);
                                connect(NewWindowAction, SIGNAL(triggered()), SLOT(newWindow()));
                                
                                NewTabAction = new QAction(tr("New Tab"), this);
                                connect(NewTabAction, SIGNAL(triggered()), SLOT(newTab()));
                                
                                AppsAction = new QAction(tr("Apps"), this);
                                connect(AppsAction, SIGNAL(triggered()), SLOT(newAppTab()));
                                
                                BookmarksAction = new QAction(tr("Bookmarks"), this);
                                
                                HistoryAction = new QAction(tr("History"), this);
                                
                                //menuButtonMenu contains the above QActions, and viewMenu.
                                QMenu *menuButtonMenu = new QMenu("Menu");
                                menuButtonMenu->addAction(NewWindowAction);
                                menuButtonMenu->addAction(NewTabAction);
                                menuButtonMenu->addAction(AppsAction);
                                menuButtonMenu->addAction(BookmarksAction);
                                menuButtonMenu->addAction(HistoryAction);
                                menuButtonMenu->addSeparator();
                                menuButtonMenu->addMenu(viewMenu);
                                menuButtonMenu->addMenu(toolMenu);
                                
                                //newTabButton creates a new browseTab.
                                newTabButton = new QToolButton;
                                newTabButton->setText("+");
                                newTabButton->setStyleSheet(
                                             "background-color:rgba(229, 239, 251);"
                                             "color:black;"
                                             "border:1px solid black;"
                                             "margin-bottom:0px;"
                                             );
                                connect(newTabButton, SIGNAL(released()), SLOT(newTab()));
                                
                                //newAppTabButton creates a new appMenu tab.
                                newAppTabButton = new QToolButton;
                                newAppTabButton->setText("Apps");
                                newAppTabButton->setStyleSheet(
                                            "background-color:rgba(229, 239, 251);"
                                            "color:black;"
                                            "border:1px solid black;"
                                            "margin-bottom:0px;"
                                            );
                                connect(newAppTabButton, SIGNAL(released()), SLOT(newAppTab()));
                                
                                //menuButton contains menuButtonMenu.
                                menuButton = new QToolButton;
                                menuButton->setText("|||");
                                menuButton->setStyleSheet(
                                            "background-color:rgba(229, 239, 251);"
                                            "color:black;"
                                            "border:1px solid black;"
                                            "border-top:0px;"
                                            "border-left:1px solid black;"
                                            "border-right:1px solid black;"
                                            "border-bottom:1px solid black;"
                                            "margin-bottom:0px;"
                                            "float:left;"
                                            "width:50px;"
                                            );
                                menuButton->setPopupMode(QToolButton::InstantPopup);
                                menuButton->setMenu(menuButtonMenu);
                                
                                //creates a tabWidget containing a BrowseTab.
                                tabWidget = new QTabWidget(this);
                                tabWidget->addTab(new browseTab, tr("Search"));
                                tabWidget->setTabsClosable(true);
                                tabWidget->setTabShape(QTabWidget::Rounded);
                                tabWidget->setStyleSheet(
                                            "color:black;"
                                            "QTabBar::tab { height: 5px; width: 100px; }"
                                            );
                                connect(tabWidget, SIGNAL(tabCloseRequested(int)), SLOT(closeTab(int)));
                                
                                //contains several buttons.
                                QHBoxLayout *topRowLayout = new QHBoxLayout;
                                topRowLayout->addWidget(menuButton);
                                topRowLayout->addWidget(newTabButton);
                                topRowLayout->addWidget(newAppTabButton);
                                
                                //contains a tabWidget with topRowLayout on top.
                                QVBoxLayout *mainLayout = new QVBoxLayout;
                                mainLayout->addLayout(topRowLayout);
                                mainLayout->addWidget(tabWidget);
                                setLayout(mainLayout);
                                
                                //contains mainLayout.
                                mainWidget = new QWidget;
                                mainWidget->setLayout(mainLayout);
                                
                                setUnifiedTitleAndToolBarOnMac(true);
                                setCentralWidget(mainWidget);
                                

                                }

                                mainView::~mainView()
                                {
                                }

                                //mainView--SLOTS
                                void mainView::setFullscreen()
                                {
                                this->setWindowState(Qt::WindowFullScreen);
                                }

                                void mainView::setMaximized()
                                {
                                this->setWindowState(Qt::WindowMaximized);
                                }

                                void mainView::setWindowed()
                                {
                                this->setWindowState(Qt::WindowMinimized);
                                }

                                void mainView::newWindow()
                                {
                                mainView newWindow;
                                newWindow.show();
                                }

                                void mainView::newTab()
                                {
                                tabWidget->addTab(new browseTab(tabWidget), tr("Search"));
                                }

                                void mainView::closeTab(int index)
                                {
                                tabWidget->removeTab(tabWidget->currentIndex());
                                }

                                void mainView::newAppTab()
                                {
                                tabWidget->addTab(new appTab, tr("App Menu"));
                                }@

                                1 Reply Last reply
                                0
                                • E Offline
                                  E Offline
                                  eyenov
                                  wrote on last edited by
                                  #22

                                  where you have in your mainView constructor:
                                  @tabWidget->addTab(new browseTab, tr("Search"))@

                                  please change it to:
                                  @tabWidget->addTab(new browseTab(tabWidget), tr("Search"));@

                                  just as in mainView::newTab()

                                  hope it works.

                                  best,
                                  --rb

                                  1 Reply Last reply
                                  0
                                  • N Offline
                                    N Offline
                                    nicky j
                                    wrote on last edited by
                                    #23

                                    Okay I have partial success! When the program starts it automatically creates a tab, when i press the addTab button inside this tab it creates another tab, but the addTab button in these new tabs doesn't work. What do I do? Thanks!

                                    1 Reply Last reply
                                    0
                                    • E Offline
                                      E Offline
                                      eyenov
                                      wrote on last edited by
                                      #24

                                      Ok. It seems you have a different hierarchy for these objects. Let's keep it simple. In browseTab::browseTab change the code to:
                                      @
                                      browseTab::browseTab(QWidget *parent) :
                                      QWidget(parent),
                                      mainView_object_pointer(parent)
                                      {
                                      @

                                      In mainview.cpp, change everything from:
                                      @new browseTab(tabWidget)@
                                      to
                                      @new browseTab(this)@

                                      It should work fine.

                                      1 Reply Last reply
                                      0
                                      • N Offline
                                        N Offline
                                        nicky j
                                        wrote on last edited by
                                        #25

                                        Success! It works, but I don't quite understand how.
                                        Thanks for all of your help!

                                        1 Reply Last reply
                                        0
                                        • N Offline
                                          N Offline
                                          nicky j
                                          wrote on last edited by
                                          #26

                                          sorry to resurrect this thread, but I am having a similar problem again. I have created two new classes: sideBar and sideBar_appView. the mainView class has a QDockWidget in it that contains sideBar. Inside sideBar there is a QTabWidget that creates a new tab populated by sideBar_appView. Within sideBar_appView there is a button that is supposed to call mainView::newAppTab. However it does nothing when clicked.

                                          code:

                                          sidebar.h:
                                          @#ifndef SIDEBAR_H
                                          #define SIDEBAR_H

                                          #include "sidebar_appview.h"
                                          #include "mainview.h"
                                          #include <mainview.h>
                                          #include <QPointer>
                                          #include <QObject>
                                          #include <QWidget>
                                          #include <QWebView>
                                          #include <QVBoxLayout>
                                          #include <QTabWidget>
                                          #include <QTextEdit>

                                          class mainView;

                                          class sideBar : public QWidget
                                          {
                                          Q_OBJECT
                                          public:
                                          explicit sideBar(QWidget *parent = 0);

                                          signals:

                                          public slots:

                                          private:
                                          //sideBar_appView *appView;
                                          QTabWidget *tabs;
                                          QTextEdit *settingsView;
                                          QObject *mainView_object_pointer;
                                          };

                                          #endif // SIDEBAR_H@

                                          sidebar.cpp:
                                          @#include "sidebar.h"
                                          #include "mainview.h"

                                          #include <QtWidgets>

                                          sideBar::sideBar(QWidget *parent) :
                                          QWidget(parent),
                                          mainView_object_pointer(parent)
                                          {
                                          QString url = "http://www.google.com";

                                          settingsView = new QTextEdit;
                                          
                                          tabs = new QTabWidget;
                                          tabs->setTabPosition(QTabWidget::West);
                                          tabs->setStyleSheet(
                                                      "QTabBar::tab { width: 25px; }"
                                                      );
                                          tabs->addTab(new sideBar_appView(this), tr("Apps"));
                                          tabs->addTab(settingsView, tr("Settings"));
                                          
                                          QVBoxLayout *layout = new QVBoxLayout;
                                          layout->setMargin(0);
                                          layout->addWidget(tabs);
                                          setLayout(layout);
                                          

                                          }
                                          @

                                          sidebar_appview.h
                                          @#ifndef SIDEBAR_APPVIEW_H
                                          #define SIDEBAR_APPVIEW_H

                                          #include <QPointer>
                                          #include <QObject>
                                          #include <QWidget>
                                          #include <QToolButton>
                                          #include <QVBoxLayout>
                                          #include "mainview.h"
                                          #include <mainview.h>
                                          //#include "sidebar.h"
                                          //#include <sidebar.h>

                                          class mainView;

                                          class sideBar_appView : public QWidget
                                          {
                                          Q_OBJECT
                                          public:
                                          explicit sideBar_appView(QWidget *parent = 0);

                                          signals:

                                          public slots:

                                          private:
                                          QToolButton *runAntivirusButton;
                                          QToolButton *viewAllAppsButton;

                                          QObject *mainView_object_pointer;
                                          

                                          };

                                          #endif // SIDEBAR_APPVIEW_H
                                          @

                                          sidebar_appview.cpp:
                                          @#include "sidebar_appview.h"
                                          #include "mainview.h"
                                          //#include "sidebar.h"

                                          #include <QtWidgets>

                                          sideBar_appView::sideBar_appView(QWidget *parent) :
                                          QWidget(parent),
                                          mainView_object_pointer(parent)
                                          {
                                          runAntivirusButton = new QToolButton;
                                          runAntivirusButton->setText("Run Antivirus");

                                          viewAllAppsButton = new QToolButton;
                                          viewAllAppsButton->setText("All Apps ->");
                                          connect(viewAllAppsButton, SIGNAL(clicked()), mainView_object_pointer, SLOT(newAppTab()));
                                          
                                          QVBoxLayout *appViewLayout = new QVBoxLayout;
                                          appViewLayout->setMargin(0);
                                          appViewLayout->addWidget(runAntivirusButton);
                                          appViewLayout->addWidget(viewAllAppsButton);
                                          setLayout(appViewLayout);
                                          

                                          }@

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved