一.模态对话框 模态对话框:阻塞同一应用程序中其它可视窗口输入的对话框.模态对话框有自己的事件循环,用户必须完成这个对话框中的交互操作,并且关闭了它之后才能访问应用程序中的其它任何窗口. 显示模态对话框最常见的方法是调用其 exec() 函数,当用户关闭对话框,exec() 将提供一个有用的返回值,并且这时流程控制继续从调用 exec() 的地方进行.通常情况下,要获得对话框关闭并返回相应的值,我们连接默认按钮,例如:"确定"按钮连接到 accept() 槽,"取消"…
一.简述 先简单介绍一下模态与非模态对话框. 模态对话框 简单一点讲就是在弹出模态对话框时,除了该对话框整个应用程序窗口都无法接受用户响应,处于等待状态,直到模态对话框被关闭.这时一般需要点击对话框中的确定或者取消等按钮关闭该对话框,程序得到对话框的返回值(即点击了确定还是取消),并根据返回值进行相应的操作,之后将操作权返回给用户.这个时候用户可以点击或者拖动程序其他窗口. 说白了就相当于阻塞同一应用程序中其它可视窗口的输入的对话框,用户必须完成这个对话框中的交互操作并且关闭了它之后才能访问应用…
对话框在Qt GUI应用程序中有着广泛的用途,对话框有模态.非模态两种情况. 对于参数选择的对话框,一般用模态对话框:对于显示或查看某些内容的对话框,一般用非模态对话框. 对话框类QDialog,官方文档:http://qt-project.org/doc/qt-4.8/qdialog.html 1. 模态对话框 模态对话框通过调用exec()函数实现,使用模态对话框时,事件就在对话框内部循环,必须将对话框关闭才能继续执行主界面的操作. 需要注意的是,关闭模态对话框时,exec()将返回一个值.…
简述 关于"模式"和"非模式"对话框,相信大家都比较熟悉,但其中有一个可能很多人都比较陌生,介于两者之间的状态,我们称之为"半模式". 简述 模式对话框 描述 效果 源码 非模式对话框 描述 效果 源码 半模式对话框 描述 效果 源码 更多参考 模式对话框 描述 阻塞同一应用程序中其它可视窗口输入的对话框.模式对话框有自己的事件循环,用户必须完成这个对话框中的交互操作,并且关闭了它之后才能访问应用程序中的其它任何窗口.模式对话框仅阻止访问与对话相…
QDialog(及其子类,以及所有Qt::Dialog类型的类)的对于其 parent 指针都有额外的解释:如果 parent 为 NULL,则该对话框会作为一个顶层窗口,否则则作为其父组件的子对话框(此时,其默认出现的位置是 parent 的中心).顶层窗口与非顶层窗口的区别在于,顶层窗口在任务栏会有自己的位置,而非顶层窗口则会共享其父组件的位置. 对话框 分为模态和非模态两种.区别是: | -- 非模态对话框,弹出后依旧可以操作父窗口,例如查找对话框 //非模态 QDialog *dia =…
模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭. 非模态对话框就是在被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互. 1. 新建工程 2. 添加菜单栏 创建"Dialog"菜单, 添加一个"模态对话框"项和"非模块对话框项": QMenuBar *menuBr = menuBar(); setMenuBar(menuBr); QMenu *pDialog = menuB…
对于模态非模态对话框默认是不响应菜单的UPDATE_COMMAND_UI消息的,需要增加对WM_INITMENUPOPUP消息的处理以后,才可以响应UPDATE_COMMAND_UI. void CXXXDlg::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu) { CDialog::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu); // TODO: Add your mess…
今天看视频,学习好半模式对话框,好新奇哟,这里记录下来. 半模式对话框,介于模式对话框和飞模式对话框之间.半模式对话框会像模式对话框一样阻塞主界面的事件响应,同时,半模式对话框会像非模态对话框一样,立即执行后面的程序. 半模式对话框,先调用setModal(true),或者setWindowModality(true),再调用show(). setModal(true) 和 setWindowModality(true) 的区别: 前者会像模态对话框的效果---双击主界面时,模态对话框会闪烁,并…
1. $.ajax提交请求进行数据更新,并通过回调进行有效提示 function updateAudit(dispacher, control) { var currentpage = document.getElementById("currentpagevalue").value; var count = 0; var frm = document.dataListFrom; var tmp; for (i = 0; i < frm.elements.length; i =…
引言 QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar).多个工具栏(tool bars).多个锚接部件(dock widgets).一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等.(本篇主要介绍菜单栏和工具栏)  一,菜单栏 一个主窗口最多只有一个菜单栏.位于主窗口顶部.主窗口标题栏下面. 创建菜单栏. QMenuBar* menuBar = new QMenuBar(t…