做网站听的纯音乐,做任务免费领取东西的网站,vue cdn做的网站,江津网站建设公司一、模态与非模态
模态#xff1a;启动模态界面时#xff0c;例如弹出对话框强制用户从其他正在进行的业务中聚焦到当前对话框#xff0c;除了该对话框整个应用程序窗口都无法接受用户响应#xff0c;无法切换界面#xff0c;无法切换当前Qt应用。这可以保证用户按照自己…一、模态与非模态
模态启动模态界面时例如弹出对话框强制用户从其他正在进行的业务中聚焦到当前对话框除了该对话框整个应用程序窗口都无法接受用户响应无法切换界面无法切换当前Qt应用。这可以保证用户按照自己设计的操作逻辑进行动作。只有关闭和退出该模态界面才可以访问本应用程序的其他界面和功能。
非模态与模态相反默认状态为非模态即可以随意切换可以在同一应用下的各个窗口界面任意切换。
半模态介于二者之间冻结窗口界面但其他应用继续执行响应。
二、使用方法
Qt中的QWidget对象自带setWindowModality(type)方法用以设置窗口模态类型。
参数type可选为一下三种
Qt::NonModal 非模态正常模式Qt::WindowModal 半模态窗口级模态对话框阻塞父窗口、父窗口的父窗口及兄弟窗口。Qt::ApplicationModal 模态应用程序级模态对话框阻塞整个应用程序的所有窗口。
三、代码示例
void MainWindow::on_toolButton_NewWidget_clicked()
{Widget_ui *new_ui new Widget_ui(this);//创建新界面窗口new_ui-setWindowModality(Qt::ApplicationModal);//设置模态connect(new_ui,new_ui-Tx_NewSig,this,MainWindow::Rx_NewSig);//绑定当前界面的信号槽new_ui-show();//显示当前新创建的界面窗口
}