Latest News

Follow the latest news on OpenShot Video Editor!


,

We've all heard the promise of GTK and how it will allow your application to be easily ported to other operating systems, such as Windows, Mac, Linux, and others. Something that you might not know is that if your GTK application uses the Gnome library, it will only work on Linux! This seems obvious to me now, but this really stumped me for a while.

Check it: I was using the Glade3 Interface designer to create some GTK forms, and I choose the Gnome App (instead of the GTK window). It looked the same, and was mostly assembled out of GTK widgets, but it has a subtle difference... it requires the Gnome library to be referenced. Long story short, I spend hours and hours trying to get my simple Gnome App to work on Windows with no luck. As soon as I replaced it with a standard GTK window, it worked great on Windows.

Example:
import gtk, gtk.glade # This is fine, and your program will work on all OSes
import gnome.ui #This will destroy your hopes of a cross-platform app

So, to wrap this up... be sure to use only 100% pure GTK if you are interested in a cross-platform application.

Share to Facebook Share to Twitter Share to MySpace Stumble It Share to Reddit Share to Delicious More...

4 comments

  1. John  

    Are we to assume this means you're porting OpenShot to be cross-platform? If so, why not Mono/.Net? I noticed you said you had only done .NET programming...why do OpenShot in Python?!?!?!

  2. Jonathan Thomas  

    Yes, eventually I would like OpenShot to be cross platform. Mono did not have the library support that I needed to make OpenShot, which was the main reason I looked for a different language. Python was the best decision I've made for the progress of OpenShot. It is awesome! Thanks for the comment.

  3. 0p0  

    Longing for Windows or Mac OS ports! That would be just awesome! :D

  4. jjardon  

    I'd suggest you to use only:

    import gtk

    and use GtkBuilder instead the deprecated libglade libraries.

Post a Comment

Subscribe to: Post Comments (Atom)