Porting a pygtk app to Windows
binaryjesus
coolman.guron at gmail.com
Tue Sep 16 12:30:20 EDT 2008
hi everyone,
first of all
I had written an app using pygtk module and created the GUI with
glade.All the development was done on a linux machine and the app was
working fine all this tme in linux.
now, the thing is i have to change the development environment to
windows. So this means that i have to port the application to work in
windows.
Initially i thought that porting an application written using a
platform independent language and cross-platform window frame work
would be a piece of cake. Well i guess all the assumptions end there.
unlike linux, in windows pygtk and the GTK frame work are not
installed by default.
So, long story short. i installed GTK devel, pygtk, pygobject, pycaro,
glade ui. Also made a lot of path adjustments (os.path.absolutepath()
is not portable i guess) and finally got the app to at least start
without showing an error.
The problem that i am now facing is that nothing shows up in the app.
No menu, buttons, frames or anything else is visible. When i move the
cursor over the window it changes into an hour-glass type icon. hoe
ever all c++ GTK programs seem to render well.
here is a screen shot: http://i36.tinypic.com/x52uk9.jpg
i have written below the startup code of the app:
import pygtk
pygtk.require('2.0')
import gtk
import gtk.glade
from ConfigParser import ConfigParser
class jDesk(object):
def __init__(self):
#self.seclstore.append(["0","Section1"])
#self.catlstore.append(["cat 1"])
self.synclstore = gtk.ListStore(str,str,str,str,str,int)
self.seclstore = gtk.ListStore(str,str)
self.catlstore = gtk.ListStore(str,str)
self.process_glade()
def process_glade(self):
self.gladefile = "gui.glade"
self.glade = gtk.glade.XML(self.gladefile)
#windows
self.main_window = self.glade.get_widget('MainWindow')
#main window
self.templatefile = self.glade.get_widget('templatefile')
self.imageurl = self.glade.get_widget('imageurl')
self.posttitle = self.glade.get_widget('posttitle')
self.sectionbox = self.glade.get_widget('sectionbox')
self.categorybox = self.glade.get_widget('categorybox')
self.demolink = self.glade.get_widget('demolink')
self.posttext = self.glade.get_widget('posttext')
self.statusbar = self.glade.get_widget('statusbar')
self.signal_autoconnect()
self.main_window.show()
print '===================main wind created================='
def run(self):
try:
print "Entering GTK main now"
gtk.main()
print "Leaving GTK main"
except:
print "Exception in main"
if __name__ == "__main__":
conf = ConfigParser()
conf.read('settings.cfg')
gtk.gdk.threads_init()
app = jDesk()
app.run()
i have tried a lot of things, checked up paths, checked libcairo but
nothing seems to help.problem seems to be with pygtk since other c++
GTK programs like pedgin and GTK demo rn fine.
So maybe is there any pygtk windows bugs that i coming from linux
background might not be knowing about or perhaps u have encountered
such a problem in the past before ?
Much thanks in advance
BinaryJ
More information about the Python-list
mailing list