Code Monkey home page Code Monkey logo

pythonqt's Introduction

PythonQt

Overview

PythonQt is a dynamic Python binding for Qt. It offers an easy way to embed the Python scripting language into your Qt applications. It makes heavy use of the QMetaObject system and thus requires Qt4.x.

This project is a fork of the official PythonQt repository hosted on sourceforge.

It serves as staging area to contain patches that will then be contributed back to the official repository.

Prerequisites

  • CMake 2.8.x
  • Qt 4.6.2 or above

Build instructions

By default, the patched-5 version will be checked out.

git clone git://github.com/commontk/PythonQt.git
mkdir PythonQt-build
cd PythonQt-build
cmake -DQT_QMAKE_EXECUTABLE:FILEPATH=/path/to/qmake ../PythonQt
make

Additional configure options are:

  • CMAKE_BUILD_TYPE: Debug, Release, RelWithDebInfo or MinSizeRel
  • PythonQt_DEBUG: Enable/Disable PythonQt debug output
  • PythonQt_Wrap_QtAll: Make all Qt components available in python
  • PythonQt_Wrap_Qt<componentname>: Build PythonQt wrapper associated with <componentname>. Possible <componentname> are gui, network, opengl, sql, uitools, webkit, xml, xmlpatterns.

Available branches

This repository contains 5 branches:

patched-5

  • Based on patched-4 + r403 excluding commit r397
  • List of bug fixes:
  • Fix for memory leaks and cleanup crash
  • List of features:
  • CMake:
  • Fix install rules
  • Fix "_invalid_parameter_noinfo_noreturn" link error
  • PythonQt:
  • Add Qt5 support
  • Add PY3K support

patched-4

  • Based on patched-3 + r245
  • List of features:
  • Add BUILD_TESTING option disabled by default to keep behavior consistent with previous version.
  • Do not exclude enums from wrapping if they are QFlags.
  • Ensure enums added using only Q_FLAGS without corresponding Q_ENUMS are wrapped.

patched-3

patched-2

  • Based on r228
  • List of features:
  • At configuration time, detect the Qt version used and seamlessly compile the appropriate wrappers (Qt 4.8, 4.7 or 4.6).
  • Add method allowing to know if a python error occurred: 5935f29
  • Also add associated method "resetErrorFlag": a386dc60
  • Fix compilation issue on VS2010 when PythonQt Debug build against python Release: 7e1e07f
  • Add option Add PythonQt_Wrap_QtAll: 97df3b0 and 9104fa9
  • Ensure all 4.8 generated wrappers are considered: 654f324
  • Update "PythonQtPythonInclude.h" to avoid build error on recent MacOSX: 7b8ee130 and 47738f9c
  • Update "PythonQtPythonInclude.h" to fix windows build issue when PythonQt Debug build against python Release6366f00
  • Optionally include CTestUseLaunchers: 211440
  • Add SystemExit exception handler. If enabled, the signal "systemExitExceptionRaised" will be emitted. It gives application the opportunity to cleanup and terminate nicely: 3c84463d
  • Add "isatty" function to StdOutRedirect. Needed by some logging frame: 7132dba9
  • Backported:
  • Most of the change specific to patched branch have been backported upstream: r200, r201, r202, r203, r204
  • CMake option PYTHONQT_USE_VTK has been removed (r205), the foreign wrapper mechanism should be used: r206

patched

  • Based on r193
  • List of features:
  • CMake'ified PythonQt project
  • CMake'ified PythonQt/generator project
  • Add dPython.h file, it provides the ability to link against release python with a debug build of your project.
  • Option PYTHONQT_USE_VTK CMake option allowing to teach PythonQt how to deal with vtkObject
  • Stdin can optionally be redirected to a custom callback
  • More details

svn-mirror

  • SVN history imported using git-svn

Contributing

Once you've made your great commits:

  1. Fork PythonQt
  2. Create a topic branch - git checkout -b my_branch
  3. Push to your branch - git push origin my_branch
  4. Create an Issue with a link to your branch
  5. That's it!

Meta

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.