Higgs
16th February 2014, 20:08
I have simple MainWindow. MdiArea is in it. I can't create more small mdichild.
code of MainWindow constructor:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
mdiArea = new QMdiArea;
setCentralWidget(mdiArea);
MdiChild *one = CreateChild();
MdiChild *two = CreateChild();
mdiArea->addSubWindow(one);
mdiArea->addSubWindow(two);
connect(ui->actionNew_Document,SIGNAL(triggered()),this,SLOT(C reateNewDocument()));
}
MdiChild* MainWindow::CreateChild()
{
MdiChild *newChild = new MdiChild;
static int count = 0;
newChild->setWindowTitle(QString("%1 - %2").arg(count++).arg("Document"));
return newChild;
}
void MainWindow::CreateNewDocument()
{
mdiArea->addSubWindow(CreateChild()); //This doesn't work
}
I commented "mdiArea->addSubWindow(CreateChild());" and added QMessageBox and that worked. so slot function is executed. but can't figure out why addSubWindow doesn't work.
10048
When I press New Document action,new window doesn't appear.
code of MainWindow constructor:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
mdiArea = new QMdiArea;
setCentralWidget(mdiArea);
MdiChild *one = CreateChild();
MdiChild *two = CreateChild();
mdiArea->addSubWindow(one);
mdiArea->addSubWindow(two);
connect(ui->actionNew_Document,SIGNAL(triggered()),this,SLOT(C reateNewDocument()));
}
MdiChild* MainWindow::CreateChild()
{
MdiChild *newChild = new MdiChild;
static int count = 0;
newChild->setWindowTitle(QString("%1 - %2").arg(count++).arg("Document"));
return newChild;
}
void MainWindow::CreateNewDocument()
{
mdiArea->addSubWindow(CreateChild()); //This doesn't work
}
I commented "mdiArea->addSubWindow(CreateChild());" and added QMessageBox and that worked. so slot function is executed. but can't figure out why addSubWindow doesn't work.
10048
When I press New Document action,new window doesn't appear.