[Qgis-developer] (no subject)
Bishwarup Banerjee
bishwarup.banerjee at gmail.com
Tue Sep 2 00:58:37 EDT 2008
Hi,
I am a newbie in this environment (python, QGIS). For last few days i have
been trying hard to compile and execute the tutorial of TIM written in
python. But i am getting some error or other.
The code is as follows
import sys
import os
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
from qgis.gui import *
#from F:\Python25\Lib\site-packages\qgis import core as QgsCore
#from F:\Python25\Lib\site-packages\qgis import gui as QgsGui
# Import our GUI
from mainwindow_ui import Ui_MainWindow
# Import our resources (icons)
import resources
# Environment variable QGISHOME must be set to the install directory
# before running this application
qgis_prefix = os.getenv("QGISHOME")
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):QMainWindow.__init__(self)
# Required by Qt4 to initialize the UI
self.setupUi(self)
# Set the title for the app
self.setWindowTitle("BTC C-DAC v 1.0")
# Create the map canvas
self.canvas = QgsMapCanvas()
# Set the background color to light blue something
self.canvas.setCanvasColor(QColor(200,200,255))
self.canvas.enableAntiAliasing(True)
self.canvas.useQImageToRender(False)
self.canvas.show()
# Lay our widgets out in the main window using a
# vertical box layout
self.layout = QVBoxLayout(self.frame)
self.layout.addWidget(self.canvas)
# Create the actions for our tools and connect each to the appropriate
# method
self.actionAddLayer = QAction(QIcon(":/foss4g2007/mActionAddLayer.png"),
"Add Layer", self.frame)
self.connect(self.actionAddLayer, SIGNAL("activated()"), self.addLayer)
self.actionZoomIn = QAction(QIcon(":/foss4g2007/mActionZoomIn.png"), "Zoom
In", self.frame)
self.connect(self.actionZoomIn, SIGNAL("activated()"), self.zoomIn)
self.actionZoomOut = QAction(QIcon(":/foss4g2007/mActionZoomOut.png"),
"Zoom Out", self.frame)
self.connect(self.actionZoomOut, SIGNAL("activated()"), self.zoomOut)
self.actionPan = QAction(QIcon(":/foss4g2007/mActionPan.png"), "Pan",
self.frame)
self.connect(self.actionPan, SIGNAL("activated()"), self.pan)
self.actionZoomFull =
QAction(QIcon(":/foss4g2007/mActionZoomFullExtent.png"), "Zoom Full Extent",
self.frame)
self.connect(self.actionZoomFull, SIGNAL("activated()"),
self.zoomFull)
# Create a toolbar
self.toolbar = self.addToolBar("Map")
# Add the actions to the toolbar
self.toolbar.addAction(self.actionAddLayer)
self.toolbar.addAction(self.actionZoomIn)
self.toolbar.addAction(self.actionZoomOut);
self.toolbar.addAction(self.actionPan);
self.toolbar.addAction(self.actionZoomFull);
# Create the map tools
self.toolPan = QgsMapToolPan(self.canvas)
self.toolZoomIn = QgsMapToolZoom(self.canvas, False) # false = in
self.toolZoomOut = QgsMapToolZoom(self.canvas, True) # true = out
# Set the map tool to zoom in
def zoomIn(self):
self.canvas.setMapTool(self.toolZoomIn)
# Set the map tool to zoom out
def zoomOut(self):
self.canvas.setMapTool(self.toolZoomOut)
# Set the map tool to
def pan(self):
self.canvas.setMapTool(self.toolPan)
# Zoom to full extent of layer
def zoomFull(self):
self.canvas.zoomFullExtent()
# Add an OGR layer to the map
def addLayer(self):
file = QFileDialog.getOpenFileName(self, "Open Shapefile", ".",
"Shapefiles(*.shp)")
fileInfo = QFileInfo(file)
# Add the layer
layer = QgsVectorLayer(file, fileInfo.fileName(), "ogr")
#if not layer.isValid():
#return
# Change the color of the layer to gray
symbols = layer.renderer().symbols()
symbol = symbols[0]
symbol.setFillColor(QColor.fromRgb(192,192,192))
# Add layer to the registry
QgsMapLayerRegistry.instance().addMapLayer(layer);
# Set extent to the extent of our layer
self.canvas.setExtent(layer.extent())
# Set up the map canvas layer set
cl = QgsMapCanvasLayer(layer)
layers = [cl]
self.canvas.setLayerSet(layers)
def main(argv):
# create Qt application
app = QApplication(argv)
# Initialize qgis libraries
QgsApplication.setPrefixPath(qgis_prefix, True)
QgsApplication.initQgis()
# create main window
wnd = MainWindow()
# Move the app window to upper left
wnd.move(100,100)
wnd.show()
# run!
retval = app.exec_()
# exit
QgsApplication.exitQgis()
sys.exit(retval)
if __name__ == "__main__":
main(sys.argv)
Previously i was getting the error
No module named PyQt4.QtCore and PyQt4.QtGui
But after installing the PyQt inside the site package it is not
showing any error now.
Now i have started getting the error,
qgis. core module not found.
qgis.gui module not found.
I have done whatever way possible from my side.
My system environment is as follows:
OS -- Windows 2000
Python 2.5
PyQt 4.4.3.1
QGIS 0.11.0.2
I dont know in which step i should be installing these one after other.
and also where to install and how to compile
It will be very kind of you if you can help me out.
Bye
Sonai
More information about the Qgis-developer
mailing list