WxPython for Everyone Charles Shapiro Atlanta Linux Enthusiasts May 2009.

Slides:



Advertisements
Similar presentations
IIIMF GUI Open Source Software Foundry
Advertisements

Italian C++ Community Chromium as a framework Raffaele Intorcia Tiziano Cappellari.
Automatic Installation System on USB Memory Instructor: Hai Vortman Students: Leeor Langer Eyal Koren.
High Performance Faceted Interfaces Using S2S Eric Rozell, Tetherless World Constellation.
Scelta della tecnologia di presentazione dei dati.
PaperCut NG Chris Dance. Copyright © PaperCut Software Pty. Ltd. 2 Overview Overview of PaperCut NG Why we offer a Mac Version The story of our.
DEiXTo.
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
Open Office Writer Computer Training Programme Speaker Kumardeep Chaudhary 17th September 2014 (Wednesday)
Graphical User Interfaces in Haskell Koen Lindström Claessen.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Programming 101 with Python: an open-source, cross-platform, and fun language By J. Burton Browning, Ed.D. Copyright © J. Burton Browning All rights reserved.
Networking Nasrullah. Input stream Most clients will use input streams that read data from the file system (FileInputStream), the network (getInputStream()/getInputStream()),
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
EasyBoard Share schedule and ideas in a twinkle. EasyBoard Goals Application features Technologies used Schedule Problems that we can meet Questions?
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
XML and its applications: 4. Processing XML using PHP.
Cross-platform GUI Frameworks for 3D Apps and Games: Qt vs wxWidgets
Some essentials difference syntax and concept for jquery developers Roohullah Afzali
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
WaveMaker Visual AJAX Studio 4.0 Training Installation.
By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel.
Presented By: Muhammad Tariq Software Engineer Android Training course.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
Enricher Converter Analyzer Parser & Renderer UNIVERSAL, FAST AND RELIABLE.
Static Testing Code Review/Verification –Code is reviewed by the developer and others after each change (Wei/William look at each other’s stuff) –Reviewed.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Overview of PVSS 3.6 Oliver Holme IT-CO. 16/11/2006JCOP Project Team Meeting New features in 3.6 New Installer for PVSS on Windows New Qt User Interface.
WebOPI -Bring BOY OPI to the Web and Mobile Xihui Chen, Kay Kasemir Spring 2012 EPICS Meeting.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel.
1 FESA architecture v.1.0 Framework Configuration & Data-entry Tool 5 th December 2003.
 Before you continue you should have a basic understanding of the following:  HTML  CSS  JavaScript.
Introduction to JavaScript MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/2/2016.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Google Web Toolkit for Mobile Applications Development INGENUITY AT ITS BEST……………….
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
ASP.NET 2.0 Mohammed Abdelhadi Developer.NET Evangelist Microsoft Corporation.
Qt Development Frameworks Past, Present and Future by Knut Yrvin – Dec 2009.
Microsoft FrontPage 2003 Illustrated Complete Creating a Web Site.
10 Questions and Answers about.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
PHP Basics and Syntax Lesson 3 ITBS2203 E-Commerce for IT.
Building GUI applications with Python, GTK and Glade
INTRO. To I.T Razan N. AlShihabi
Code Editing Lesson 2.
Applications Active Web Documents Active Web Documents.
JSP (Java Server Page) JSP is server side technology which is used to create dynamic web pages just like Servlet technology. This is mainly used for implementing.
Google Web Toolkit Tutorial
Documentation Generators
Java Look-and-Feel Design Guidelines
Event Driven Programming Dick Steflik
Introduction to .NET Framework Ch2 – Deitel’s Book
INTRODUCTION TO HTML5.
Developing applications using Chromium
CISC101 Reminders Last lecture!  Grading of Quiz 4 underway.
COMPSCI 111 / 111G An introduction to practical computing
GUI Using Python.
James Blankenship March , 2018
Assignment 4 For this assignment refer to the notes on MATLAB from an MIT course that you can find here (or at the original website, lectures 14, 15, 16).
COMPUTER SOFT WARE Software is a set of electronic instructions that tells the computer how to do certain tasks. A set of instructions is often called.
SOFTWARE TECHNOLOGIES
Educational Computing
XML and its applications: 4. Processing XML using PHP
Database Management System
FEATURES OF PYTHON.
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
C++/Java/COM Interoperability
Introduction to ASP.NET Parts 1 & 2
Presentation transcript:

WxPython for Everyone Charles Shapiro Atlanta Linux Enthusiasts May 2009

What Is WxPython? ● A cross-platform GUI development tool – Allows speedy development of GUI applications which will run on most popular platforms – Simple to understand and use – Actively developed with a large inventory of current projects – Open-source, L-GPL compatible license

wxWidgets Library ● C++ library designed for cross-platform widget development ● Julian Smart, University of Edinburgh, ● 22 pre-defined widgets (windows, panels, textboxes,sliders,buttons, et cetera) ● Lower-level API to develop your own custom widgets if necessary ● Other Wrappers: wxLua, wxPerl, WxBasic, D

WxPython Wrapper ● Python: Very Stylish – VM means no recompilation for different platforms – Access to Python libraries (e.g. DBI, pygame, et cetera) ● Must use Python 2.4 or better ● GPL-compatible license ● Full documentation

The Simplest Possible WxPython Program #!/usr/bin/env python import wx class myApp(wx.App): def OnInit(self): frame=wx.Frame(parent=None, title="Bare") frame.Show() return True app=myApp() app.MainLoop()

Demo wxtiny Here

A WxPython Program that Does Something

Demo example.py Here

wx.App() Object

wx.Frame Object

wxPython Main Line

Coding your WxPython GUI in XML ● Create an XRC file containing specs for all your widgets and windows. – Separation of Concerns ● Change your UI without editing your code – Use specialized editing tools to create and maintain most of your UI – XRC files are XML, so an XML parser is available in WxPython for other uses

Simple WxPython XRC Reader

Demo xrctest.py Here

Simple WxPython XRC File

Creating XRC files ● WxGlade – generates Python code as well ● XRCed

Demo wxGlade Here

Running on Windows ● All the usual fun: file types are by extension, script files won't work right, some tools may not exist. ● Initting an empty listbox in an XRC file (e.g. if you're filling it later from a database) causes an assertion exception in the windows wxwidgets C library. The cure is to put a dummy value in the listbox, remove it, and then fill it.

Other WxPython Features ● MDI (Multiple windows inside one, like OO 1.0) ● Validators (Hooks to manage your dialogs) ● Device Contexts (use WxPython for printing or drawing graphics in memory without display) ● Crude HTML display (lacks CSS et cetera)

WxPython Resources ● (Python) ● (wiki,listserve,doc) ● (wxwidgets) ● WxPython In Action (Noel Rappin, Robin Dunn; Mar 2006 Manning Publications, Greenwich CT)