Neverendingo (Talk | contribs) m (Text replace - "<code>" to "<syntaxhighlight lang="text">") |
|||
| (One intermediate revision by one user not shown) | |||
| Line 1: | Line 1: | ||
| − | + | ||
{{TutorialBrowser| | {{TutorialBrowser| | ||
| Line 17: | Line 17: | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
marble/examples/python/simple_marble.py | marble/examples/python/simple_marble.py | ||
| − | </ | + | </syntaxhighlight> |
| Line 87: | Line 87: | ||
main() | main() | ||
| − | </ | + | </syntaxhighlight> |
| Tutorial Series | Marble Python Tutorial |
| Previous | Python, Qt |
| What's Next | Tutorial 2 - Marble's GeoPainter |
| Further Reading | n/a |
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()