[PyQt] Konsole part doesn't emit "destroyed()" signal on "exit"
Phil Thompson
phil at riverbankcomputing.com
Wed Nov 4 13:54:43 GMT 2009
On Wed, 4 Nov 2009 21:43:02 +0800, Shamakhov Andrey <shamakhov.a at gmail.com>
wrote:
> Hello!
>
> I have a program like this:
>
> ####################################
> #!/usr/bin/python
>
>
> import sys
> import os
>
> from PyKDE4.kdecore import *
> from PyKDE4.kdeui import *
> from PyKDE4.kparts import *
>
> from PyQt4.QtCore import *
> from PyQt4.QtGui import *
>
> class MainWindow (KMainWindow):
> def __init__ (self):
> KMainWindow.__init__(self)
> self.resize(640, 480)
> factory = KLibLoader.self().factory("libkonsolepart")
> self.part = factory.create(self, "KonsolePart")
> self.connect(self.part, SIGNAL("destroyed()"), self.readd)
> self.setCentralWidget(self.part.widget())
> self.part.openUrl(KUrl.fromPath(os.environ['HOME']))
>
> def readd(self):
> print "Wow!"
> factory = KLibLoader.self().factory("libkonsolepart")
> self.part = factory.create(self, "KonsolePart")
> self.connect(self.part, SIGNAL("destroyed()"), self.readd)
> self.setCentralWidget(self.part.widget())
> self.part.openUrl(KUrl.fromPath(os.environ['HOME']))
>
> if __name__ == '__main__':
>
> appName = "Konsolepart_example"
> catalog = ""
> programName = ki18n("Konsole Part Example")
> version = "1.0"
> description = ki18n("Example loading a Konsole Part")
> license = KAboutData.License_GPL
> copyright = ki18n("(c)")
> text = ki18n("none")
> homePage = "localhost"
> bugEmail = "none"
>
> aboutData = KAboutData(appName, catalog, programName, version,
> description,
> license, copyright, text, homePage, bugEmail)
>
> KCmdLineArgs.init(sys.argv, aboutData)
> app = KApplication()
> mainWindow = MainWindow()
> mainWindow.show()
> app.exec_()
> ###################################
>
> When you close opened console session, the "destroyed()" signal doesn't
> emited
> by konsole part on system with new version of PyKDE(4.3.3)(or/and
> PyQt(4.6.1)). This program works absolutely fine on system with PyKDE
4.3.1
>
> and PyQt 4.5.2. What is wrong in this code now?
It's fixed in current snapshots.
Phil
More information about the PyQt
mailing list