阅读量:2
1.继承自QWidge的窗口的呈现,作为tabPage呈现,作为独立窗口呈现
2.继承自QMainWindow的窗口的呈现,作为abPage呈现,作为独立窗口呈现
1. 继承自QWidge的窗口的呈现
1.1 作为tabPage呈现
void MutiWindowExample::on_actWidgetInsite_triggered() { TFormDoc *form = new TFormDoc(this); //关闭时 自动删除 释放 form->setAttribute(Qt::WA_DeleteOnClose); int cur= ui->tabWidget->addTab(form,QString::asprintf("Doc %d",ui->tabWidget->count())); ui->tabWidget->setVisible(true); connect(form,&TFormDoc::titleChanged,this,&MutiWindowExample::do_changeTabTitle); }
1.2 作为独立窗口呈现
void MutiWindowExample::on_actWidget_triggered() { TFormDoc *form = new TFormDoc(this); //关闭时 自动删除 释放 form->setAttribute(Qt::WA_DeleteOnClose); form->setWindowTitle("基于Widget的窗口,无父窗口,关闭时删除释放"); //设置成window 窗口标识 form->setWindowFlag(Qt::Window,true); form->setWindowOpacity(0.9); //独立窗口显示 form->show(); }
2. 继承自QMainWindow的窗口的呈现
2.1 作为tabPage呈现
void MutiWindowExample::on_actWindowInsite_triggered() { CustomDialogExample *form = new CustomDialogExample(this); form->setAttribute(Qt::WA_DeleteOnClose);//关闭立即释放 int cur = ui->tabWidget->addTab(form,QString::asprintf("Table %d",ui->tabWidget->count())); ui->tabWidget->setCurrentIndex(cur); ui->tabWidget->setVisible(true); }
2.2 作为独立窗口呈现
void MutiWindowExample::on_actWindow_triggered() { CustomDialogExample *form = new CustomDialogExample(this); form->setAttribute(Qt::WA_DeleteOnClose);//关闭立即释放 form->setWindowTitle("基于QMainWindow的窗口"); form->statusBar(); form->show(); }