English 中文(简体)
选择文件夹或文件
原标题:Select a folder or a file
  • 时间:2011-11-22 08:59:57
  •  标签:
  • qt

Qt是否只使用一种方言,以选择一个档案或一个文件夹?

我指的是,我要选择一种选择,请打电话,而使用这一用户也可以从同一个方言中选取一个夹或一个档案。

最佳回答

在植被上建有一只树,但将QDir Model与QTreeView连接起来并获取甄选信号非常容易。

Here is an example to get you started:

test.cpp

#include <QtGui>

#include "print.h"

int main(int argc, char** argv)
{
    QApplication app(argc, argv);

    QDirModel mdl;
    QTreeView view;
    Print print(&mdl);

    view.setModel(&mdl);
    QObject::connect(
        view.selectionModel(),
        SIGNAL(currentChanged(const QModelIndex&,const QModelIndex&)),
        &print,
        SLOT(currentChanged(const QModelIndex&,const QModelIndex&)));
    view.show();

    return app.exec();
}

#ifndef _PRINT_H_
#define _PRINT_H_
#include <QtGui>

class Print : public QObject
{
    Q_OBJECT
    public:
        Print(QDirModel* mdl);
        ~Print();
    public slots:
        void currentChanged(const QModelIndex& current, const QModelIndex&);
    private:
        QDirModel* mModel;
        Q_DISABLE_COPY(Print)
};

#endif

print.cpp

#include "print.h"

Print::Print(QDirModel* mdl) : QObject(0), mModel(mdl) {}
Print::~Print() {}

void Print::currentChanged(const QModelIndex& current, const QModelIndex&)
{
    qDebug() << mModel->filePath(current);
}
问题回答

暂无回答




相关问题
Qt: Do events get processed in order?

If I had a class A, where one of its functions does: void A::func() { emit first_signal(); emit second_signal(); } Assuming that a class B has 2 slots, one connected to first_signal, and the ...

How to determine how much free space on a drive in Qt?

I m using Qt and want a platform-independent way of getting the available free disk space. I know in Linux I can use statfs and in Windows I can use GetDiskFreeSpaceEx(). I know boost has a way, ...

Drag & drop with .ui files

I m having big troubles with drag & drop. I ve created a new Qt Designer Form Class in which I have one QListWidget and one QWidget. Now I want to enable dragging & dropping between these two ...

Link errors on Snow Leopard

I creating a small desktop application using Qt and Poco on Mac OS X Snow Leopard. Qt works fine, but once I started linking with Poco I get the following warning: ld: warning: in /Developer/SDKs/...

Showing two windows in Qt4

My friend and I have each created parts of a GUI using Qt 4. They both work independently and I am trying to integrate his form with the my main window. As of now this is the code I am using to try ...

Qt equivalent of .NET data binding?

Is there an equivalent of .NET s data binding in Qt? I want to populate some combo boxes and other widgets with QStrings that refer to specific entities in my database. However, it would be cleaner ...