File open events will be sent to the
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 event is only used to notify the application of a request. It may be safely ignored.
This class is currently supported for macOS only.
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.
For example, the following
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.
from PySide6.QtWidgets import QApplication from PySide6.QtGui import QFileOpenEvent from PySide6.QtWidgets import QPushButton class MyApplication(QApplication): # public MyApplication(int argc, char **argv) super().__init__(argc, argv) event = bool(QEvent event) if event.type() == QEvent.FileOpen: openEvent = QFileOpenEvent(event) print("Open file", openEvent.file()) return QApplication.event(event)
- class PySide6.QtGui.QFileOpenEvent(arg__1)#
- Return type
Returns the file that is being opened.
Returns the url that is being opened.