The QFileOpenEvent class provides an event that will be sent when there is a request to open a file or a URL. 更多...
| 头: | #include <QFileOpenEvent> | 
| qmake: | QT += gui | 
| 继承: | QEvent | 
| QString | file () const | 
| bool | openFile (QFile & file , QIODevice::OpenMode flags ) const | 
| QUrl | url () const | 
The QFileOpenEvent class provides an event that will be sent when there is a request to open a file or a URL.
File open events will be sent to the QApplication::instance() when the operating system requests that a file or URL should be opened. This is a high-level event that can be caused by different user actions depending on the user's desktop environment; for example, double clicking on an file icon in the Finder on macOS .
此事件仅用于通知请求的应用程序。它可以被安全地忽略。
注意: This class is currently supported for macOS 仅。
In order to trigger the event on macOS , the application must be configured to let the OS know what kind of file(s) it should react on.
						例如,以下
						
Info.plist
						
						file declares that the application can act as a viewer for files with a PNG extension:
					
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>png</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
        </dict>
    </array>
</dict>
</plist>
					
					The following implementation of a QApplication subclass prints the path to the file that was, for example, dropped on the Dock icon of the application.
#include <QApplication> #include <QFileOpenEvent> #include <QtDebug> class MyApplication : public QApplication { public: MyApplication(int &argc, char **argv) : QApplication(argc, argv) { } bool event(QEvent *event) override { if (event->type() == QEvent::FileOpen) { QFileOpenEvent *openEvent = static_cast<QFileOpenEvent *>(event); qDebug() << "Open file" << openEvent->file(); } return QApplication::event(event); } };
返回正在被打开的文件。
						打开
						
							QFile
						
						在
						
							file
						
						referenced by this event in the mode specified by
						
							flags
						
						。返回
						
true
						
						若成功;否则返回
						
false
						
						.
					
This is necessary as some files cannot be opened by name, but require specific information stored in this event.
该函数在 Qt 4.8 引入。
返回正在被打开的 URL。
该函数在 Qt 4.6 引入。