onÃrico
11th November 2009, 19:00
Hi everyone!!
I'm having some problems with a QStackedWidget and I though maybe you can help me. The program is a QWidget which contains a QStackedWidget and two QPushButtons (one, to change page; and another, to quit). The problem is that the "Change" button doesn't work and I have no idea why...
Here's the relevant code...
MenuManager::MenuManager(QWidget *parent): QWidget(parent)
{
menus = new QStackedWidget;
menus->addWidget( m1 = new MenuOne );
menus->addWidget( m2 = new MenuTwo );
menus->addWidget( m3 = new MenuThree);
menus->addWidget( m4 = new MenuFour );
menus->addWidget( m5 = new MenuFive );
/*menus->setCurrentIndex(3);*/ // Works fine, which means Menus' code is allright
QPushButton *bChange = new QPushButton("Change");
QObject::connect(bChange, SIGNAL(clicked()), menus, SLOT(setCurrentIndex(3)));
QPushButton *bQuit = new QPushButton("Quit");
QObject::connect(bQuit, SIGNAL(clicked()), this, SLOT(close()));
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(menus);
layout->addWidget(bChange);
layout->addWidget(bQuit);
setLayout(layout);
}
Any help will be apreciated. Thanks!
I'm having some problems with a QStackedWidget and I though maybe you can help me. The program is a QWidget which contains a QStackedWidget and two QPushButtons (one, to change page; and another, to quit). The problem is that the "Change" button doesn't work and I have no idea why...
Here's the relevant code...
MenuManager::MenuManager(QWidget *parent): QWidget(parent)
{
menus = new QStackedWidget;
menus->addWidget( m1 = new MenuOne );
menus->addWidget( m2 = new MenuTwo );
menus->addWidget( m3 = new MenuThree);
menus->addWidget( m4 = new MenuFour );
menus->addWidget( m5 = new MenuFive );
/*menus->setCurrentIndex(3);*/ // Works fine, which means Menus' code is allright
QPushButton *bChange = new QPushButton("Change");
QObject::connect(bChange, SIGNAL(clicked()), menus, SLOT(setCurrentIndex(3)));
QPushButton *bQuit = new QPushButton("Quit");
QObject::connect(bQuit, SIGNAL(clicked()), this, SLOT(close()));
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(menus);
layout->addWidget(bChange);
layout->addWidget(bQuit);
setLayout(layout);
}
Any help will be apreciated. Thanks!