Qt中的MainWindow如何调用另一个对话框啊?

编写是VS2012+Qt编写的,想要做的是,现在已经存在一个Qt的主对话框,想现在点击某个按钮QPushButton然后弹出另一个对话框,比如显示要处理后的图像,怎么弄啊... 编写是VS2012+Qt编写的,想要做的是,现在已经存在一个Qt的主对话框,想现在点击某个按钮QPushButton然后弹出另一个对话框,比如显示要处理后的图像,怎么弄啊? 展开
 我来答
cuzn1024
2015-01-19 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:84.4万
展开全部
创建个QDialog对象,添加layout,layout里面添加QLabel对象,用QLabel对象显示图片,然后调用QDialog::exec()。
追问
你好,感谢你的回答。我做的是图像处理,我要实现的在QMainWindow中点击一个按钮,比如按钮是双边滤波,然后具体的函数是在QMainWindow实现的(就是滤波的那部分),然后想点击按钮,弹出另一个对话框并实现处理后的图像的显示。现在就是两个问题:1.实现对话框的弹出(使用哪种对话框比较好?)2.实现两个类的数据的传送,就是将第一个类中的处理函数处理后的数据,在第二个对话框显示?
期待你的回复
追答
首先,不太确定你说的有哪些对话框,不过按照你的需求,窗口本身应该没有多大必要搞得很复杂, 只是用来显示图像。所以对话框都是次要的,QDialog就ok,显示图像用QLabel就行。
其次,其实按照你的实现,不需要纠结类之间的传输,都做在QMainWindow里面好了。点了按钮响应点击后的代码就是在创建一个QDialog局部对象,然后按照我之前说的加子成员,用QLabel显示。这样,你会发现其实QLabel->setPixmap(data)里的data就是QMainWindow的成员变量,说白了就是都是QMainWindow的变量,不存在很复杂的跨类访问。
再其次,从设计上来讲,QMainWindow只用于基础界面管理, 建议把滤波实现代码放在另一个专用的类里面,对话框也放一个单独的cpp\h,这样都是模块化的,耦合性更低。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式