KDE TechBase
  • Page
  • Discussion
  • Edit
  • History
KDE TechBase is a Wiki - You can help! Please contribute! Questions?
Please ask development related questions in the KDE Community Forum.

Projects/Marble/MarblePython

< Projects | Marble

Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenščina | српски | Українська | 简体中文 | 繁體中文

Hello Marble
Tutorial Series   Marble Python Tutorial
Prerequisites   Python, Qt
What's Next   Tutorial 2 - Marble's GeoPainter
Further Reading   n/a


[edit] Hello Marble!

Marble offers KDE-Python bindings. A small hello world example is available as part of the Marble sources at

marble/examples/python/simple_marble.py


The Marble API allows a very easy integration of a map widget into your application. Let's prove that with some python code:


#!env python
#
# Copyright 2008 Simon Edwards <simon@simonzone.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# A very simple example of how to use the marble widget.
 
from PyQt4.QtCore import *
from PyKDE4.kdeui import *
from PyKDE4.kdecore import *
from PyKDE4.marble import *
import sys
 
class MainWin (KMainWindow):
def __init__ (self, *args):
KMainWindow.__init__ (self)
self.resize(640, 480)
 
self.marble = Marble.MarbleWidget(self)
self.marble.setMapThemeId("earth/bluemarble/bluemarble.dgml")
self.setCentralWidget(self.marble)
self.marble.centerOn(5.8333, 51.8333)
self.marble.zoomView(2000)
 
def main():
appName = "simple_marble"
catalog = ""
programName = ki18n ("default")
version = "1.0"
description = ki18n ("Simple Python Marble Example")
license = KAboutData.License_GPL
copyright = ki18n ("(c) 2008 Simon Edwards")
text = ki18n ("none")
homePage = "www.simonzone.com"
bugEmail = "simon@simonzone.com"
 
aboutData = KAboutData (appName, catalog, programName, version, description,
license, copyright, text, homePage, bugEmail)
 
aboutData.addAuthor (ki18n("Simon Edwards"), ki18n("Developer"))
 
KCmdLineArgs.init(sys.argv, aboutData)
 
app = KApplication()
mainWindow = MainWin(None, "main window")
mainWindow.show()
app.connect(app, SIGNAL ("lastWindowClosed ()"), app.quit)
app.exec_()
 
main()
Retrieved from "http://techbase.kde.org/Projects/Marble/MarblePython"
Category: Tutorial

Navigation

  • Home
  • Help
  • Recent changes

Sections

  • Getting started
  • Development
  • Schedules
  • Policies
  • Contribute
  • Projects

Toolbox

  • What links here
  • Related changes
  • Special pages
  • Printable version
  • Permanent link

Personal tools

  • 38.107.191.99
  • Talk for this IP
  • Log in / create account
  • Login with OpenID
Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal