本人编了一个音乐播放程序,其中关于文件对话框的代码如下:
void MainWindow::open()
{
filename = QFileDialog::getOpenFileName(this,tr("打开")
,QDir::homePath(),tr("音乐文件(*.mp3 *wav)"));
if(filename.isEmpty()) return;
if(music!=NULL)
{
delete music;
}
music =Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(filename));
music->setParent(this);
QDir dir(filename);
ui->label_2->setText(dir.dirName());
ui->pauseBtn->setEnabled(true);
ui->playBtn->setEnabled(false);
connect(music,SIGNAL(finished()),this,SLOT(finished()));
music->play();
}
在ubuntu下当一个音乐文件播放完后再点击“打开”按钮,即对象指针ui->playBtn,调用此函数后显示的是KDE的文件选择对话框,
若上次音乐未播放完被关闭了,再次执行后,打开的是Qt自己的文件选择对话框,dir.dirName()为空,无法显示文件名。
在Windows下没有任何问题?
请高手指教。
关于文件对话框的问题--ubuntu会出现Qt自己的和kde的文件选择对话框
-
- 帖子: 5
- 注册时间: 2010-06-19 6:39