• 4415阅读
  • 2回复

如何做到:双击某个文件,用文件编辑器打开该文件? [复制链接]

上一主题 下一主题
离线ch19860304
 
只看楼主 正序阅读 楼主  发表于: 2009-06-11
我的代码现在能显示某个目录下的所有文件和该文件夹了,并且现在双击某个该文件夹,能打开该文件夹,但双击某个该文本文件,不能用编辑器打开某个文件。
    我大概是这样做的:并将QListView类的doubleClicked信号与(我自己的新建的类)的open槽相连。我把相关的代码提练贴出如下:



class Imagewindow :public QMainWindow
{    
    Q_OBJECT
        
    public:
        Imagewindow() ;
    public slots:
        void open(const QModelIndex &index ) ;        
    private:
        QDirModel *model ;
        QListView *list ;
        QDir imageDir ;
        QStringList fileList ;    
};

Imagewindow::Imagewindow()
{

    model = new QDirModel ;
    list = new QListView(this) ;
    ......

    setCentralWidget(list);
    connect(list,SIGNAL(doubleClicked(const QModelIndex &) ),this,SLOT(open(const QModelIndex &))) ;
}



void Imagewindow::open(const QModelIndex &index)
{
     if(model->isDir(index))
    {
        .....
    }
    else
    {
        list->openPersistentEditor(index);
    }
}


麻烦大家帮我看看程序有什么问题不?
离线ch19860304
只看该作者 2楼 发表于: 2009-06-12
那应该怎么把QModelIndex转换成相应的QUrl变量呀?应该用什么函数呀?

我知道好像有fromLocalFile()是把相应的QString转换成QUrl。但这个QModelIndex转换成相应的QUrl变量呀?
离线duduqq

只看该作者 1楼 发表于: 2009-06-12
用openUrl()
快速回复
限100 字节
 
上一个 下一个