当前位置:编程学习 > wap >>

C++调用QT库弹出模态对话框(QMainWindow)

C++调用QT库如何弹出模态对话框(继承自QMainWindow)

int argc = 1;
QApplication *qtApp = new QApplication(argc,0);
mymaindlg *dlg= new mymaindlg;
dlg->setAttribute(Qt::WA_DeleteOnClose);
dlg->setWindowModality(Qt::ApplicationModal);
dlg->show();
qtApp->exec();
这么写的弹出的是非模态的,应该怎么做? QT 模态对话框 dll 动态库 QMainWindow --------------------编程问答-------------------- 顶,做过的或者有思路的说下 --------------------编程问答-------------------- 从QDialog继承 --------------------编程问答--------------------
引用 2 楼 spirit008 的回复:
从QDialog继承


谢谢,一样是非模态的。 --------------------编程问答--------------------
引用 3 楼 z397164725 的回复:
Quote: 引用 2 楼 spirit008 的回复:

从QDialog继承


谢谢,一样是非模态的。

显示不用show,用exec --------------------编程问答--------------------
引用 4 楼 spirit008 的回复:
Quote: 引用 3 楼 z397164725 的回复:

Quote: 引用 2 楼 spirit008 的回复:

从QDialog继承


谢谢,一样是非模态的。

显示不用show,用exec



无效 --------------------编程问答--------------------
引用 5 楼 z397164725 的回复:
Quote: 引用 4 楼 spirit008 的回复:

Quote: 引用 3 楼 z397164725 的回复:

Quote: 引用 2 楼 spirit008 的回复:

从QDialog继承


谢谢,一样是非模态的。

显示不用show,用exec



无效

parent填你的主窗口句柄,大哥,你怎么改的你贴出来吧,模态就两行代码,new,exec --------------------编程问答--------------------
引用 6 楼 spirit008 的回复:
Quote: 引用 5 楼 z397164725 的回复:

Quote: 引用 4 楼 spirit008 的回复:

Quote: 引用 3 楼 z397164725 的回复:

Quote: 引用 2 楼 spirit008 的回复:

从QDialog继承


谢谢,一样是非模态的。

显示不用show,用exec



无效

parent填你的主窗口句柄,大哥,你怎么改的你贴出来吧,模态就两行代码,new,exec



直接在QT内部用是可以的,C++调QT库无效 --------------------编程问答-------------------- 可能我的问题没说清楚。
说明下:
mymaindlg *dlg= new mymaindlg;
dlg->setAttribute(Qt::WA_DeleteOnClose);
dlg->setWindowModality(Qt::ApplicationModal);
dlg->show();
这么写在QT内部用调出来的是模态的,C++掉QT库时出来的就是非模态的,
我问的是怎么在调用QT库时显示模态对话框。
--------------------编程问答--------------------
引用 8 楼 z397164725 的回复:
可能我的问题没说清楚。
说明下:
mymaindlg *dlg= new mymaindlg;
dlg->setAttribute(Qt::WA_DeleteOnClose);
dlg->setWindowModality(Qt::ApplicationModal);
dlg->show();
这么写在QT内部用调出来的是模态的,C++掉QT库时出来的就是非模态的,
我问的是怎么在调用QT库时显示模态对话框。

QT就是c++的,这没什么关系,你是在vs下用不是在qt creator下用是这意思吗,是在vs下用就去装个vs的qt插件,在qt官网有。qt的东西都要生成一些moc文件才行。 --------------------编程问答-------------------- 加完插件就可以这么用了。

--------------------编程问答-------------------- 谢谢!不过你完全没有理解我的意思。你自己写过dll吗?? --------------------编程问答-------------------- 自顶顶顶顶顶顶顶 --------------------编程问答-------------------- 可以结贴了!
dialog: 
exec() 
setModal(true); show()    是模态的!
直接show()是非模态的,因为默认setModal(false); 

QWidget:
setWindowModality(Qt::ApplicationModal); show() 是模态的!
直接show()是非模态的
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,