本文主要是介绍QDialog执行accepted() accept()不退出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近写QT对话框程序,发现一个奇怪的现象,明明是两个相同的对话框,点击了确认按钮,一个正常退出,一个怎么都不退出!
我很奇怪,为什么accepted()之后不退出!
代码如下:
经过对比,我发现原来我犯了个愚蠢的错误!我把 accept()函数写成了accepted(),实际上accepted()是个信号!
来自qt助手里的解释:
(1) QDialog::Accepted : 模态对话框的返回值;
(2) [virtual slot] void QDialog::accept() : 隐藏模态对话框并将结果代码设为Accepted;
(3) [signal] void QDialog::accepted() : 当用户接受对话框或通过使用 QDialog::Accepted 参数调用 accept() 函数或者 done() 函数时,会发送此信号.
修改之后,问题解决!
原谅我!犯了这个低级错误!
谨此分享给有类似经历的小伙伴,免得以为遇到奇怪的问题!
这篇关于QDialog执行accepted() accept()不退出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!