兰州网站建设优化推广,四级a做爰片免费网站,网站建设服务费记账分录,什么软件可以做ppt本文记录Qt实现MDI应用程序的相关操作实现
目录
1.MDM模式下窗口的显示两种模式
1.1TabbedView 页签化显示
1.2 SubWindowView 子窗体显示
堆叠cascadeSubWindows
平铺tileSubWindows
2.MDM模式实现记录
2.1. 窗体继承自QMainWindow
2.2.增加组件MdiArea
2.3.定义统一…本文记录Qt实现MDI应用程序的相关操作实现
目录
1.MDM模式下窗口的显示两种模式
1.1TabbedView 页签化显示
1.2 SubWindowView 子窗体显示
堆叠cascadeSubWindows
平铺tileSubWindows
2.MDM模式实现记录
2.1. 窗体继承自QMainWindow
2.2.增加组件MdiArea
2.3.定义统一TFormDoc作为子窗体
2.4. MDI父窗体上定义action点击时 转换为TFormDoc窗体进行对应方法的处理
2.5 将子窗体中的文本框编辑信号绑定到窗体的QWidget 的公有槽函数 setWindowModified(bool)会修改 windowModified 属性的值。
2.6. 子窗体激活事件
2.7. MDI模式切换 1.MDM模式下窗口的显示两种模式 1.1TabbedView 页签化显示 1.2 SubWindowView 子窗体显示
两种样式 堆叠和平铺
堆叠cascadeSubWindows 平铺tileSubWindows 2.MDM模式实现记录
2.1. 窗体继承自QMainWindow
void MdiMainWindow::closeEvent(QCloseEvent *event)
{ui-mdiArea-closeAllSubWindows();event-accept();
}MdiMainWindow::MdiMainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MdiMainWindow)
{ui-setupUi(this);setCentralWidget(ui-mdiArea);setWindowState(Qt::WindowMaximized);
}
2.2.增加组件MdiArea
2.3.定义统一TFormDoc作为子窗体 2.4. MDI父窗体上定义action点击时 转换为TFormDoc窗体进行对应方法的处理
void MdiMainWindow::on_actPaste_triggered()
{TFormDoc *form (TFormDoc*)ui-mdiArea-activeSubWindow()-widget();form-textPaste();
}2.5 将子窗体中的文本框编辑信号绑定到窗体的QWidget 的公有槽函数 setWindowModified(bool)会修改 windowModified 属性的值。 connect(ui-plainTextEdit,QPlainTextEdit::modificationChanged,this,QWidget::setWindowModified);
2.6. 子窗体激活事件
激活的时候在statusBar上显示一下信息
void MdiMainWindow::on_mdiArea_subWindowActivated(QMdiSubWindow *arg1)
{Q_UNUSED(arg1);if(ui-mdiArea-subWindowList().size()0){ui-actCut-setEnabled(false);ui-actCopy-setEnabled(false);ui-actPaste-setEnabled(false);ui-actFont-setEnabled(false);ui-statusbar-clearMessage();}else{TFormDoc *form static_castTFormDoc*(ui-mdiArea-activeSubWindow()-widget());ui-statusbar-showMessage(form-currentFileName());}
}
2.7. MDI模式切换
void MdiMainWindow::on_actViewMode_triggered(bool checked)
{if(checked)//多页显示模式ui-mdiArea-setViewMode(QMdiArea::TabbedView);elseui-mdiArea-setViewMode(QMdiArea::SubWindowView);ui-mdiArea-setTabsClosable(checked);ui-actCascade-setEnabled(!checked);ui-actTile-setEnabled(!checked);
}