Quantcast
Channel: Jobs
Viewing all articles
Browse latest Browse all 18427

QToolButton: not able to enable or disable button in my function

$
0
0
Hello, I am currently trying to enable and disable certain toolbar buttons in my app. I am able to enable and disable them when I am in my constructor for the app, but when I call a separate function to handle this it builds fine, but I get an exception when I try to run it. My code is as follow: Constructor: UI_3::UI_3(QWidget *parent) :     QMainWindow(parent),     ui(new Ui::UI_3) {     ui->setupUi(this);       /*Create the tool bar and add it to the main window*/     QToolBar *toolBar  = new QToolBar(this);     toolBar->setFloatable(false);   /*Do not allow the toolbar to be undockable*/     toolBar->setMovable(false); /*Do not allow the toolbar to be moved*/     addToolBar(Qt::LeftToolBarArea, toolBar);   /*Add tool bar to the main window*/     /*Create buttons and display icon/tect for each*/     QToolButton *onButton = new QToolButton(toolBar);     onButton->setIcon(QIcon("C:/Qt/Projects/CNCUI_3AXIS/icons/yes.png"));     onButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);     onButton->setText("NC On");     QToolButton *offButton = new QToolButton(toolBar);     offButton->setIcon(QIcon("C:/Qt/Projects/CNCUI_3AXIS/icons/no.png"));     offButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);     offButton->setText("NC Off");     QToolButton *openFileButton = new QToolButton(toolBar);     openFileButton->setIcon(QIcon("C:/Qt/Projects/CNCUI_3AXIS/icons/directory_open.png"));     openFileButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);     openFileButton->setText("Open");     QToolButton *runButton = new QToolButton(toolBar);     runButton->setIcon(QIcon("C:/Qt/Projects/CNCUI_3AXIS/icons/arrow_green.png"));     runButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);     runButton->setText("Run");     QToolButton *stopButton = new QToolButton(toolBar);     stopButton->setIcon(QIcon("C:/Qt/Projects/CNCUI_3AXIS/icons/error.png"));     stopButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);     stopButton->setText("Stop");     /*Add buttons and separators to toolbar*/     toolBar->addWidget(onButton);     toolBar->addSeparator();     toolBar->addWidget(offButton);     toolBar->addSeparator();     toolBar->addWidget(openFileButton);     toolBar->addSeparator();     toolBar->addWidget(runButton);     toolBar->addSeparator();     toolBar->addWidget(stopButton); ...     onButton->setEnabled(true);     offButton->setEnabled(false);     openFileButton->setEnabled(false);     runButton->setEnabled(false);     stopButton->setEnabled(false); ... } Function that doesnt allow me to disable and enable toolbar buttons: void UI_3::setModeFocusFor(MODE_FOCUS mode) {     switch(mode)     {     case(MANUAL):         /*Only enable manual tab*/         ui->manualTab->setEnabled(true);         ui->editTab->setEnabled(false);         ui->autoTab->setEnabled(false);         ui->plotTab->setEnabled(false);         ui->mdiTab->setEnabled(false);         /*Only enable manual toolbar buttons*/         onButton->setEnabled(false);         offButton->setEnabled(true);         openFileButton->setEnabled(false);         runButton->setEnabled(false);         stopButton->setEnabled(false);         break;     case(EDIT):         /*Only enable edit tab*/         ui->editTab->setEnabled(true);         ui->autoTab->setEnabled(false);         ui->manualTab->setEnabled(false);         ui->plotTab->setEnabled(false);         ui->mdiTab->setEnabled(false);         /*Only enable edit toolbar buttons*/         onButton->setEnabled(false);         offButton->setEnabled(true);         openFileButton->setEnabled(true);         runButton->setEnabled(false);         stopButton->setEnabled(false);         break;     } } The exception occurs right at the first onButton->setEnabled(true) call. The class in the header file is as follows: class UI_3 : public QMainWindow {     Q_OBJECT     public:     explicit UI_3(QWidget *parent = 0);     ~UI_3();   private slots:     void on_tabWidget_currentChanged(QWidget *arg1);    /*Slot for handling tab mode changes*/     void setModeFocusFor(MODE_FOCUS mode);     /*Slots for handling toolbar button clicks*/     void onButton_clicked();     void offButton_clicked();     void openFileButton_clicked();     void runButton_clicked();     void stopButton_clicked();   private:     Ui::UI_3 *ui;     QToolBar *toolBar;  /*Main window tool bar*/     QToolButton *onButton;  /*Button for turning NC on*/     QToolButton *offButton; /*Button for turning NC off*/     QToolButton *openFileButton;    /*Button for loading a part program file*/     QToolButton *runButton; /*Button for running a program*/     QToolButton *stopButton;    /*Button for stopping a program*/   }; Any help would be great. Thanks!

Viewing all articles
Browse latest Browse all 18427

Trending Articles