关于文件对话框的问题--ubuntu会出现Qt自己的和kde的文件选择对话框

开发基于GTK+或QT的应用程序
回复
xiamiaoren
帖子: 5
注册时间: 2010-06-19 6:39
送出感谢: 0
接收感谢: 0

关于文件对话框的问题--ubuntu会出现Qt自己的和kde的文件选择对话框

#1

帖子 xiamiaoren » 2010-12-19 14:56

本人编了一个音乐播放程序,其中关于文件对话框的代码如下:

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下没有任何问题?

请高手指教。
回复

回到 “GTK+和QT”