QFileOpenEvent Class
Die Klasse „QFileOpenEvent“ stellt ein Ereignis bereit, das ausgelöst wird, wenn eine Anforderung zum Öffnen einer Datei oder einer URL vorliegt. Mehr...
| Header: | #include <QFileOpenEvent> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Erbt von: | QEvent |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Veraltete Mitglieder
- QFileOpenEvent ist Teil der Ereignisklassen.
Öffentliche Funktionen
Geschützte Funktionen
| QFileOpenEvent(QFileOpenEvent &&) | |
| QFileOpenEvent & | operator=(QFileOpenEvent &&) |
| QFileOpenEvent & | operator=(const QFileOpenEvent &other) |
Ausführliche Beschreibung
Ereignisse zum Öffnen von Dateien werden an die ` QApplication::instance()` gesendet, wenn das Betriebssystem anfordert, dass eine Datei oder eine URL geöffnet werden soll. Dies ist ein übergeordnetes Ereignis, das je nach Plattform durch verschiedene Benutzeraktionen ausgelöst werden kann; beispielsweise durch Doppelklicken auf eine Datei im Finder oder durch Ziehen einer Datei auf das Dock-Symbol der Anwendung unter macOS oder durch das Teilen einer Datei aus einer anderen Anwendung unter iOS.
Dieses Ereignis dient lediglich dazu, die Anwendung über eine Anfrage zu informieren. Es kann bedenkenlos ignoriert werden, wenn die Datei nicht geöffnet werden soll.
Apple-Plattformen
Um das Ereignis auf Apple-Plattformen auszulösen, muss die Anwendung so konfiguriert sein, dass sie dem Betriebssystem mitteilt, auf welche Art von Datei(en) sie reagieren soll.
Beispielsweise legt die folgende Datei „ Info.plist “ fest, dass die Anwendung als Betrachter für PNG-Dateien fungieren kann:
<?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>LSItemContentTypes</key>
<array>
<string>public.png</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
</dict>
</plist>Der folgende Schlüssel ist unter iOS ebenfalls erforderlich, damit die Anwendung beispielsweise in der „Dateien“-App als „Mit … öffnen“-Aktion angezeigt wird:
<key>UISupportsDocumentBrowser</key>
<true/>Die folgende Implementierung einer Unterklasse von ` QApplication ` zeigt, wie man mit `QFileOpenEvent` umgeht, um beispielsweise eine Datei zu öffnen, die auf das Dock-Symbol der Anwendung gezogen wurde.
#include <QApplication>
#include <QDebug>
#include <QFile>
#include <QFileOpenEvent>
#include <QPushButton>
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);
const QUrl url = openEvent->url();
if (url.isLocalFile()) {
QFile localFile(url.toLocalFile());
// read from local file
} else if (url.isValid()) {
// process according to the URL's schema
} else {
// parse openEvent->file()
}
}
return QApplication::event(event);
}
};Beachten Sie, dass „ QFileOpenEvent::file() “ nicht unbedingt der Name einer lokalen Datei ist, die mit ` QFile` geöffnet werden kann. Der Inhalt der Zeichenfolge hängt von der Quellanwendung ab.
Dokumentation der Member-Funktionen
[protected delete] QFileOpenEvent::QFileOpenEvent(QFileOpenEvent &&)
Erstellt eine Instanz von ` QFileOpenEvent`. Diese Funktion wurde gelöscht.
QString QFileOpenEvent::file() const
Gibt den Namen der Datei zurück, die die Anwendung öffnen soll.
Es ist nicht garantiert, dass es sich dabei um den Pfad zu einer lokalen Datei handelt.
QUrl QFileOpenEvent::url() const
Gibt die URL zurück, die die Anwendung öffnen soll.
[protected delete] QFileOpenEvent &QFileOpenEvent::operator=(QFileOpenEvent &&)
Weist „ other “ dieser „ QFileOpenEvent “-Instanz zu. Diese Funktion wird gelöscht.
[noexcept protected default] QFileOpenEvent &QFileOpenEvent::operator=(const QFileOpenEvent &other)
other Weist dieser Instanz von „ QFileOpenEvent “ die Werte von „ “ zu. “ zu dieser Instanz von „ “ zu.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.