kenchan
26th November 2012, 14:22
Hi All,
I'm puzzled about use QStackedwidget.
i have a stackedwidget, and have four labels in one page.
i layout the page by QSplitter. see the below code:
for(int i=0, i<stackedwidget->widget(1)->children().count(); i++)
{
QSplitter *mainSplitter = new QSplitter(Qt::Horizontal, ui->stackedwidget->widget(1));
QSplitter *leftSplitter = new QSplitter(Qt::vertical, mainSplitter);
QSplitter *rightSplitter=new QSplitter(Qt::vertical, mainSplitter);
QLabel *label1 = (QLabel*)(ui->stackedwidget->widget(1)->children().at(0));
QLabel *label2 = (QLabel*)(ui->stackedwidget->widget(1)->children().at(1);
QLabel *label3 = (QLabel*)(ui->stackedwidget->widget(1)->children().at(2));
QLabel *label4 = (QLabel*)(ui->stackedwidget->widget(1)->children().at(3));
leftSplitter->addWidget(lable1);
leftSplitter->addWidget(lable2);
rightSplitter->addWidget(lable3);
rightSplitter->addWidget(lable4);
leftSplitter->setOpaqueResize(false);
rightSplitter->setOpaqueResize(false);
mainSplitter->setStretchFactor(1, 1);
mainSplitter->show();
QGridLayout *layout = new QGridLayout( ui->stackedwidget->widget(1));
layout->addWidget(mainSplitter);
}
it will allerted dialog about "Runtime Error ! This application has requested, the Runtime to terminate it in an unusual way.Please contact the application's support team for morre information".
if doesn't conver, see as bellow:
QLabel *label1 = ui->stackedwidget->widget(1)->children().at(0);
error: invalid conversion from 'QObject* const' to 'QLabel'.
how to conver form from 'QObject* const' to 'QLabel' or anther method to deal with it?
Please give me advice.
Thanks & Best regards.
ken
I'm puzzled about use QStackedwidget.
i have a stackedwidget, and have four labels in one page.
i layout the page by QSplitter. see the below code:
for(int i=0, i<stackedwidget->widget(1)->children().count(); i++)
{
QSplitter *mainSplitter = new QSplitter(Qt::Horizontal, ui->stackedwidget->widget(1));
QSplitter *leftSplitter = new QSplitter(Qt::vertical, mainSplitter);
QSplitter *rightSplitter=new QSplitter(Qt::vertical, mainSplitter);
QLabel *label1 = (QLabel*)(ui->stackedwidget->widget(1)->children().at(0));
QLabel *label2 = (QLabel*)(ui->stackedwidget->widget(1)->children().at(1);
QLabel *label3 = (QLabel*)(ui->stackedwidget->widget(1)->children().at(2));
QLabel *label4 = (QLabel*)(ui->stackedwidget->widget(1)->children().at(3));
leftSplitter->addWidget(lable1);
leftSplitter->addWidget(lable2);
rightSplitter->addWidget(lable3);
rightSplitter->addWidget(lable4);
leftSplitter->setOpaqueResize(false);
rightSplitter->setOpaqueResize(false);
mainSplitter->setStretchFactor(1, 1);
mainSplitter->show();
QGridLayout *layout = new QGridLayout( ui->stackedwidget->widget(1));
layout->addWidget(mainSplitter);
}
it will allerted dialog about "Runtime Error ! This application has requested, the Runtime to terminate it in an unusual way.Please contact the application's support team for morre information".
if doesn't conver, see as bellow:
QLabel *label1 = ui->stackedwidget->widget(1)->children().at(0);
error: invalid conversion from 'QObject* const' to 'QLabel'.
how to conver form from 'QObject* const' to 'QLabel' or anther method to deal with it?
Please give me advice.
Thanks & Best regards.
ken