标签:qdialogaccepted qt 界面 c++
Qt中界面的简单调用model->show();model的界面就会显示出来,早先用QT开发的时候,这个方法用的比较多,随着后来对程序的需求增多,这个方法已经不太合适 了。
比如说,我要调用一个界面,并且把参数传递过去,介于C++的封装和安全性,是不建议直接调用类中的成员变量或过多的调用成员函数,所以,发现了另一种比较灵活的方法:
实例:在A类中调用B类
1.在A类中定义一个B类的对象,直接调用B类中的成员函数
2.在B类的成员函数中,加入语句:this->exec();B界面就出来了。
3.同过B类函数的参数和返回值,可以实现传递参数和获取返回值
B类中:
bool MessageInfo::setInfo(QString title, QString context, QString pixmap, bool Ok_checked, bool Cancel_checked){
lb_title->setText(title);
lb_context->setText(context);
image->setPixmap(pixmap);
if(!Ok_checked){
okButton->setVisible(false);
}
if(!Cancel_checked){
cancelButton->setVisible(false);
}
if(this->exec()==QDialog::Accepted){
return true;
}
return false;
}
A类中:
MessageInfo messinfo = new MessageInfo(this);
if(messinfo->setInfo(QString("提示"),QString("确定结束在线测量?"),QString(":/image/tishi.png"),true,false))){
.....
}
标签:qdialogaccepted qt 界面 c++
原文地址:http://blog.csdn.net/honululu/article/details/41577513