当前位置: 技术问答>linux和unix
QT 获取dialog的返回值
来源: 互联网 发布时间:2016-05-29
本文导语: 想问一下,如何才可以获取 dialog的返回值 QString s; mylink *q=new mylink(this); int i=q ->exec(); s.setNum(i); //log->setText(" "); //log->setText(s); 我是这样写的,可是每次获取时都是得到0 | 有专门的信息...
想问一下,如何才可以获取 dialog的返回值
QString s;
mylink *q=new mylink(this);
int i=q ->exec();
s.setNum(i);
//log->setText(" ");
//log->setText(s);
我是这样写的,可是每次获取时都是得到0
QString s;
mylink *q=new mylink(this);
int i=q ->exec();
s.setNum(i);
//log->setText(" ");
//log->setText(s);
我是这样写的,可是每次获取时都是得到0
|
有专门的信息对话框类QMessageBox,只要调用它的静态函数就可。
rt=QMessageBox::information(或者warning)
(this,"问题","我的信息",QMessageBox::Yes,QMessageBox::No);
如果非信息类的,exec只是返回函数执行情况。所以应该重载类,加入自己的信息变量,如
public :
tag;
这样:
q->exec();
if(q->tag>1){}
else {}
即exec()的返回值是没有多大意义的。我估计你要的是对话框运动中的某一种状况吧?
rt=QMessageBox::information(或者warning)
(this,"问题","我的信息",QMessageBox::Yes,QMessageBox::No);
如果非信息类的,exec只是返回函数执行情况。所以应该重载类,加入自己的信息变量,如
public :
tag;
这样:
q->exec();
if(q->tag>1){}
else {}
即exec()的返回值是没有多大意义的。我估计你要的是对话框运动中的某一种状况吧?
|
正常通过QDialog::accept()就可以吧!
|
是获得返回值还是参数传递?感觉前者没意义吧?肯定是0或1。要是后者,
if (q->exec()) {
int i=q->xxxx; //xxxx是mylink的成员变量
.......
}