Hi,
I very well know that QMainWindow is top level/parent window. That's what initially I did, when classes "RaptorLrsGUI" and "RaptorCoreGUI" are derived from QWidget and QStackedWidget is used , I don't see anything on screen, it goes blank. The below code is exactly as per suggested and it does not work.
Also I have changed the code to remove showMaximized on widget and use single shot timer.
Thanks for your patience..:-)
{
qDebug() << "Base CTOR called\n";
QPalette pal
= palette
();
// retrieves the default palette for the widget, as defined by the app's style pal.
setColor( QPalette::Window, Qt
::white );
setPalette( pal );
setAutoFillBackground( true );
//Show the first screen, loading raptor status
lrsGUI = new RaptorLrsGUI; //RaptorLrsGUI derived from QWidget
lrsGUI
->setlabel
(QString("Loading Raptor Status..."));
coreGUI = new RaptorCoreGUI; //RaptorCoreGUI derived from QWidget
stackedWidget->addWidget(lrsGUI);
stackedWidget->addWidget(coreGUI);
stackedWidget->setCurrentIndex(0);
}
Base::~Base()
{
qDebug() << "Main Thread: destroying base objects \n";
delete lrsGUI;
delete coreGUI;
delete stackedWidget;
}
void Base::rcvInitData()
{
qDebug()<< "Main Thread (CALLBACK): Display second screen\n";
stackedWidget->setCurrentIndex(1);
}
Base::Base(QWidget *parent) : QMainWindow(parent, Qt::FramelessWindowHint)
{
qDebug() << "Base CTOR called\n";
QPalette pal = palette(); // retrieves the default palette for the widget, as defined by the app's style
pal.setColor( QPalette::Window, Qt::white );
setPalette( pal );
setAutoFillBackground( true );
//Show the first screen, loading raptor status
lrsGUI = new RaptorLrsGUI; //RaptorLrsGUI derived from QWidget
lrsGUI->setlabel(QString("Loading Raptor Status..."));
coreGUI = new RaptorCoreGUI; //RaptorCoreGUI derived from QWidget
stackedWidget = new QStackedWidget();
stackedWidget->addWidget(lrsGUI);
stackedWidget->addWidget(coreGUI);
stackedWidget->setCurrentIndex(0);
}
Base::~Base()
{
qDebug() << "Main Thread: destroying base objects \n";
delete lrsGUI;
delete coreGUI;
delete stackedWidget;
}
void Base::rcvInitData()
{
qDebug()<< "Main Thread (CALLBACK): Display second screen\n";
stackedWidget->setCurrentIndex(1);
}
To copy to clipboard, switch view to plain text mode
Rest of the code remain same as earlier.
Bookmarks