|
1Qter豆
void Widget::play(){
QFileDialog w;
QString fileName = w.getOpenFileName(this, tr("Open File"),
"/",tr("Vedios (*.flv *.rmvb *.mp4)"));
mediaObject->setCurrentSource(Phonon::MediaSource(fileName));
connect(&w,SIGNAL(accepted()), this,SLOT(test()));
}
void Widget::test(){
qDebug() << "succeed";
}
这段代码是 选中文件打开后 为何没 有出现 succeed 信息
如果这里我没有写定义变量w 而是直接
QString fileName = QFileDialog::getOpenFileName ....
后面的槽第一个参数又该怎么写
connect( ____,SIGNAL(accepted()), this,SLOT(test()));
|
最佳答案
查看完整内容
这样写就行了:
fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
这里的this指的是调用这个函数的类,这里是Widget。
因为你用的是 QFileDialog w;这样定义的,这个和函数中的临时变量是一个意思,函数执行完就销毁了,所以关联是没有用的。
要想关联有用,可以使用 QFileDialog *w = new QFileDialog;这样的。 ...
|