Qt 中界面间的执行调用QDialog::Accepted

来源:互联网 发布:手机视频制作软件 编辑:程序博客网 时间:2024/06/03 22:48

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))){

     .....

}






0 0
原创粉丝点击