Ich möchte, dass die Benutzer das Standard-Aussehen unserer Anwendungen anpassen können, indem sie einfach ihre OWN Qt Style-Sheet-Dateien laden. Wie schaffen wir das? Kann mir jemand einen Vorsprung geben?Wie könnte Qt Stil aus einer externen Qt Stylesheet-Datei anwenden?
Antwort
Angenommen, der Benutzer hat sein Stylesheet mit dem Namen stylesheet.qss
und befindet sich im Anwendungsordner.
Sie können das Stylesheet laden, wenn Sie die Anwendung starten, die -stylesheet Argument:
>myapp -stylesheet=stylesheet.qss
Aber dies Ihre Benutzer benötigen zu wissen, wie eine Anwendung mit Argumenten zu starten.
Sie können auch einen Einstellungsdialog in Ihrer App hinzufügen, in dem der Benutzer einen Stylesheet-Pfad auswählen kann.
Anschließend können Sie diese Datei öffnen, den Inhalt laden, und setzen Sie ihn auf Ihrer Anwendung mit QApplication::setStyleSheet():
QFile File("stylesheet.qss");
File.open(QFile::ReadOnly);
QString StyleSheet = QLatin1String(File.readAll());
qApp->setStyleSheet(StyleSheet);
Qt ist ein example online bereitzustellen, die nützlich sein könnten.
könnten Sie angeben, wie (wenn möglich) mehrere Stylesheets verwendet werden sollen? ZB: Ich brauche ein Stylesheet für ein bestimmtes Layout und ein anderes für ein zweites Layout. Ist es möglich, ein Stylesheet mit einem Widget und nicht mit einer App zu verknüpfen? – SKYnine
@SKYnine hast du herausgefunden, wie das geht? (Laden Sie mehrere Stylesheets) –
leider glaube ich nicht, dass Sie können. Ich habe jedoch einen Weg gefunden, mit dem spezifischen Styling umzugehen. Fügen Sie Ihrem gewünschten Objekt einfach eine Eigenschaft hinzu und untergliedern Sie den Stil dann in das Stylesheet (wie eine Klasse). Qt durchläuft alle Standard-Stylesheets und wendet dann die Überschreibungen für bestimmte Elemente an, die dem Eigenschaftsnamen entsprechen. – SKYnine
Sie legen das Stylesheet für die gesamte Anwendung basierend auf der vom Kunden bereitgestellten Konfiguration fest.
http://doc.qt.io/qt-5/qapplication.html#styleSheet-prop
Sie könnten setzen/diese Konfiguration aus einem beliebigen Anzahl von Orten bekommen, ein Objekt im Anwendungsdialog ist wahrscheinlich der natürliche Ansatz.
Dead Link und unerheilig Antwort. –
- 1. Anwenden chrome wie Tabs in Qt
- 2. Wie drucke ich einen Qt-Dialog oder ein Qt-Fenster?
- 3. mit externen Bibliotheken in Qt/Symbian
- 4. Zugriff auf die Qt UI von einer externen cpp-Datei
- 5. Verwenden einer Qt-basierten DLL in einer Nicht-Qt-Anwendung
- 6. Minimieren einer Qt-Anwendung
- 7. Qt Designer vs Qt Quick Designer vs Qt Creator?
- 8. Standard-HTML-Stil für Steuerelemente in der Qt-Bibliothek
- 9. Dokumentation für Kommentare zur Qt-Dokumentation? Qt + Doxygen?
- 10. Mac Event Loop Qt Plugin in einer Nicht-Qt-Anwendung
- 11. Qt-Bibliotheken unter Qt-Anwendungen teilen
- 12. Wie kann ich Qt Mobility 1.1.0 in Qt Creator integrieren?
- 13. Wie führe ich eine Qt-Anwendung aus?
- 14. Wie eine Bibliothek aus einer anderen Bibliothek in QT
- 15. Qt-Stil, Windows-vs Xubuntu (GTK +) - keine Grenze in QGropBox
- 16. Qt: transparentes QRubberBand?
- 17. wie Kontaktliste in qt
- 18. Wie Einstellungen in Qt
- 19. Qt: Unbekannte Module in QT: webview
- 20. C++/Qt-Speicher Leck?
- 21. Qt - Einstellen einer benutzerdefinierten Baudrate
- 22. Wie ein separates Fenster aus einem TabWidget in PySide Qt
- 23. Qt Reimplementierungsfunktion
- 24. Wie Hinweisdialog auf Qt
- 25. Qt Farbauswahldialog, wie gcolor2
- 26. Qt Buildfehler
- 27. Messen der Textbreite in Qt
- 28. Qt Memory Management für Qt-Objekte
- 29. setWindowFlags (Qt :: WindowStaysOnTopHint) blendet Qt-Fenster
- 30. C++ Qt zurückgeben QString
Mit CSS meinen Sie * HTML CSS * Dateien oder * Qt Stylesheets * selbst? – liaK
Qt Stylesheets ... sorry ... lassen Sie mich aktualisieren ... – Owen