Die Änderungen an Qt TextToSpeech
Qt 6 sind das Ergebnis des bewussten Bemühens, das Framework effizienter und benutzerfreundlicher zu gestalten.
Wir versuchen, die Binär- und Quellcodekompatibilität für alle öffentlichen APIs in jeder Version zu erhalten. Einige Änderungen waren jedoch unvermeidlich, um Qt zu einem besseren Framework zu machen.
In diesem Thema fassen wir diese Änderungen in Qt TextToSpeechzusammen und geben Anleitungen zu deren Handhabung.
Verfügbare Engines
Alle Engines, die in Qt 5 verfügbar waren, sind auch in Qt 6.4 verfügbar. Eine vollständige Liste der verfügbaren Engines in Qt 6.4 finden Sie unter Qt TextToSpeech Engines.
Engines können nun zusätzliche Konfigurationsparameter erhalten. Wenn Sie eine QTextToSpeech Instanz erstellen, übergeben Sie eine QVariantMap mit Engine-spezifischen Schlüssel/Wert-Paaren.
API-Änderungen
Das Qt TextToSpeech Modul wurde einer grundlegenden Konsolidierung und Bereinigung unterzogen. Der Portierungsaufwand sollte minimal sein, um zu Qt 6 wechseln zu können.
Die Klasse QTextToSpeech
Der QTextToSpeech::State Enum-Wert BackendError
wurde in Error
umbenannt. Detaillierte Fehlerinformationen sind über QTextToSpeech::errorReason() und QTextToSpeech::errorString() verfügbar.
Die neue Eigenschaft engine ermöglicht den Wechsel der Engine bei einem initialisierten QTextToSpeech Objekt.
Die Slots pause und QTextToSpeech::stop nehmen einen QTextToSpeech::BoundaryHint Enum-Wert an. Dadurch wird die Kompilierung für Signal/Slot-Verbindungen, die die PMF-Syntax verwenden, unterbrochen, wenn das Signal Parameter hat, die zuvor ignoriert wurden:
connect(stopButton, &QPushButton, tts, &QTextToSpeech::stop);
Entweder verbinden Sie sich mit einem Signal ohne Parameter, oder Sie verwenden ein Lambda und rufen die entsprechende Slot-Methode explizit auf:
connect(stopButton, &QPushButton, tts, [tts]{ tts->stop(); });
Die QVoice-Klasse
Bestehender Code, der die Klasse QVoice verwendet, funktioniert weiterhin wie bisher. QVoice Objekte können nun über QDataStream serialisiert werden.
Die Klassen QTextToSpeechEngine und QTextToSpeechPlugin
Diese Klassen wurden aus der öffentlichen API entfernt. Sie existieren noch und werden von den verfügbaren Engine-Implementierungen verwendet, aber sie sind nicht Teil der dokumentierten und unterstützten API und werden sich wahrscheinlich in zukünftigen Versionen ändern.
© 2025 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.