24
24
25
25
from PyQt4 .QtCore import *
26
26
from PyQt4 .QtGui import *
27
- from qgis .utils import iface
28
27
import sys
29
28
import traceback
30
29
import code
31
30
32
31
33
32
_init_commands = ["from qgis.core import *" , "import qgis.utils" ]
34
33
34
+
35
35
_console = None
36
36
37
37
def show_console ():
38
38
""" called from QGIS to open the console """
39
39
global _console
40
40
if _console is None :
41
41
_console = PythonConsole ()
42
- _console .setVisible (True )
42
+ _console .show ()
43
+ _console .raise_ ()
44
+ _console .setWindowState ( _console .windowState () & ~ Qt .WindowMinimized )
45
+ _console .activateWindow ()
46
+
47
+
43
48
44
49
_old_stdout = sys .stdout
45
50
_console_output = None
46
51
47
-
48
52
# hook for python console so all output will be redirected
49
53
# and then shown in console
50
54
def console_displayhook (obj ):
@@ -65,18 +69,17 @@ def flush(self):
65
69
66
70
sys .stdout = QgisOutputCatcher ()
67
71
68
- class PythonConsole (QDockWidget ):
72
+
73
+ class PythonConsole (QWidget ):
69
74
def __init__ (self , parent = None ):
70
- QDockWidget .__init__ (self , parent )
71
-
72
- self .widget = QWidget ()
73
- self .l = QVBoxLayout (self .widget )
75
+ QWidget .__init__ (self , parent )
76
+
74
77
self .edit = PythonEdit ()
78
+ self .l = QVBoxLayout ()
75
79
self .l .addWidget (self .edit )
76
- self .setWidget (self .widget )
77
-
80
+ self .setLayout (self .l )
78
81
self .setWindowTitle (QCoreApplication .translate ("PythonConsole" , "Python Console" ))
79
- iface . addDockWidget ( Qt . BottomDockWidgetArea , self )
82
+
80
83
s = QSettings ()
81
84
self .restoreGeometry (s .value ("/python/console/geometry" ).toByteArray ())
82
85
0 commit comments