I have simple MainWindow. MdiArea is in it. I can't create more small mdichild.
code of MainWindow constructor:
MainWindow
::MainWindow(QWidget *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(CreateNewDocument()));
}
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(CreateNewDocument()));
}
To copy to clipboard, switch view to plain text mode
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
}
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
}
To copy to clipboard, switch view to plain text mode
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.
Capture.JPG
When I press New Document action,new window doesn't appear.
Bookmarks