¿Cómo uso QLPreviewPanel
? Sé que antes no era una API pública, pero está en 10.6. ¿Cómo puedo usarlo para mostrar una vista previa de un archivo en un panel QuickLook estándar?¿Cómo usar QLPreviewPanel?
Respuesta
Consulte el código QuickLookDownloader. Le guiará por un par de cosas que debe hacer para incorporar QLPreviewPanel
en su código. Algunos de estos incluyen:
- La fabricación de sus objetos se ajustan al protocolo
QLPreviewItem
- esto le dice a Quick Look dónde encontrar el archivo que desea ver (y obtiene una vista previa de archivos - que no puede pasar en los datos personalizados). - Definir una fuente de datos y delegar para el
QLPreviewPanel
(si ya trabajó conNSTableView
antes, esto debería ser bastante familiar). - Configurando el panel de vista previa a través del protocolo
QLPreviewPanelController
(donde asigna la fuente de datos y delega). - Visualización de un panel de vista previa compartido.
Los elementos 1-3 se manejan en la clase MyDocument
del código de muestra. Alternar la pantalla se maneja principalmente en la clase AppDelegate
. También hay soporte en la clase DownloadsTableView
que conmuta el QLPreviewPanel
a través de la tecla de espacio, a la la Finder.
Solo estoy viendo esto yo mismo. Y he encontrado que Apple proporciona una buena guía con ejemplos en el Docs, También hay un buen código de ejemplo y archivos aquí ->animgifqlgen
Estoy utilizando el método Enriquecido HTML, que parece estar funcionando para lo que necesito.
La idea es utilizar el código que normalmente usaría para analizar la información en el archivo. Y use html para el diseño e incrustación de la información analizada, el html se muestra en el Panel de QL. Una gran parte del código html normal funciona como la longitud del ancho de tamaño, bgcolor, src ...
El ejemplo mostrará cómo escribir el código incluyendo las partes html. Que usa un NSMutableString y su appendString y appendFormat: para construir el html.
No he probado los otros métodos todavía.
Para la prueba Acabo de configurar las UTI del tipo de contenido del documento en la lista y poner una copia del producto creado (el complemento) en mi carpeta/Users/username/Library/QuickLook /.
Es posible que deba crear la Carpeta.
Tenga en cuenta que cuando desee reemplazar el complemento en la carpeta QuickLook arrastrando y soltando una nueva copia en la carpeta, puede estar en uso. Solo pon el viejo en la basura. También encontré que ayudó a salir del proceso Quick Look Helper con la aplicación Monitor de actividad. Al hacerlo, me aseguré de ver los resultados del plugin Nueva versión en lugar de los antiguos en la memoria. (Estoy seguro de que alguien me dirá que lo estoy haciendo mal ;-))
Bummer, el enlace animgifqlgen está muerto. ¿Alguna idea de dónde fue el proyecto? –
Vaya, creo que el enlace que originalmente publiqué se perdió por lo que los personajes del final. Fijo. – markhunte
- 1. Cómo usar org.netbeans.swing.outline?
- 2. Android: cómo usar CursorAdapter?
- 3. ¿Cómo usar MySQL DECIMAL?
- 4. ¿Cómo usar RowStatus?
- 5. Android: cómo usar SectionIndexer
- 6. MySQL: cómo usar COALESCE
- 7. ¿Cómo usar Android ViewSwitcher?
- 8. cómo usar json_encode
- 9. Cómo usar NSTrackingArea
- 10. Cómo usar boost :: crc?
- 11. Delphi Cómo usar TGridPanel
- 12. Cómo usar un WSDL
- 13. Cómo usar sprof?
- 14. Android cómo usar Environment.getExternalStorageDirectory()
- 15. Cómo usar Deblector?
- 16. Cómo usar los símbolos + =, * =, - =
- 17. ¿Cómo usar ConcurrentLinkedQueue?
- 18. Cómo usar GtkTreeView correctamente
- 19. Cómo usar NSCache
- 20. cómo usar finalmente
- 21. Cómo usar TextAction
- 22. Cómo usar kCTSuperscriptAttributeName?
- 23. ¿Cómo usar cepstral?
- 24. ¿Cómo usar MigLayout?
- 25. ¿Cómo usar Android ViewPager?
- 26. Java: Cómo usar Thread.join
- 27. Cómo usar std :: ref?
- 28. cómo usar ffmpeg
- 29. cómo usar sizzle.js separada
- 30. Cómo usar java.Set
Hola Jablair, ¿Puedo preguntarte qué quieres decir con (y estás previsualizando archivos, no puedes pasar datos personalizados)? – markhunte
QLPreviewPanel lee datos de archivos: el método 'previewItemURL' requiere que devuelva una URL de archivo. Intentaba decir que no podías dar a QLPreviewPanel una cadena HTML o una porción de datos PDF y esperar que mostrara una vista previa. Si eso es lo que tienes, necesitarías escribir los datos en un archivo temporal y una vista previa. Tenga en cuenta que estoy hablando de mostrar el panel de vista previa en su propia aplicación, no escribir un importador de QuickLook para un tipo de datos personalizado. – Jablair
Veo, gracias por explicar eso. Me pregunto si debería eliminar mi respuesta. ¿Ahora realmente no parece responder la pregunta? – markhunte