Ok, he estado jugando con QGIS console.py para ver si se puede hacer esto por sí mismo y resulta ser bastante fácil.
Abre console.py que, si has instalado usando OSGeo4W, está en C:\OSGeo4W\apps\qgis\python\qgis. A continuación, busque el método python llamado def entered(self):
y sustituirlo por lo siguiente:
def entered(self):
self.cursor.movePosition(QTextCursor.End, QTextCursor.MoveAnchor)
self.setTextCursor(self.cursor)
command = unicode(self.currentCommand())
if command == 'clear':
self.clearConsole()
else:
self.runCommand(command)
también añadir el siguiente método después del método introducido:
def clearConsole(self):
self.clear()
self.insertTaggedText("To access Quantum GIS environment from this console\n"
"use qgis.utils.iface object (instance of QgisInterface class).\n"
"\n", ConsoleHighlighter.INIT)
self.displayPrompt(False)
Guarde console.py y cierre, y reinicie QGIS.
El clearConsole
borrará la ventana de la consola y la devolverá tal y como estaba al abrirla por primera vez cuando el clear
se introduce en la ventana.
Sin embargo, esto no borra el historial, ni reinicia ninguna variable, pero no me gustaría que lo hiciera si lo estuviera usando.
Espero que esto te ayude con lo que necesitas.
EDITAR: A partir de la versión 1.7, la consola de Python incorpora esta función. Basta con llamar a qgis.console.clearConsole()
en la consola de Python para borrarlo.
0 votos
Si puedo preguntar: ¿Por qué? No creo que esté implementado, pero puedes abrir una solicitud de mejora. (Sin embargo, prepárate para responder a la pregunta anterior).
0 votos
@underdark: Para que sepas hasta dónde desplazarte después de ejecutar el siguiente comando.
0 votos
@underdark Creo que tienes razón. Creo que tenía dos cosas en mente. La primera es conseguir una ventana limpia, pero eso se puede conseguir con un montón de /n o returns. La segunda cosa que estaba pensando era del'ing todas las variables / objetos que se habían creado a través de la consola. Estaba tratando de probar algún código, pero se vio afectado por un valor existente para una variable compartida. Supongo que esta es la diferencia entre ejecutar un shell independiente vs abrir y cerrar la consola en una aplicación que sigue ejecutándose.
0 votos
Yo también me lo he preguntado, podrías abrir el archivo console.py en la carpeta de Qgis que tiene algunas cosas de python para la consola, como la fuente, etc y hackear algún código para limpiar el buffer. Yo iba a hacer esto, pero nunca llegó a hacerlo.