Hi all,

below is some test code that shows the problem I'm having, where a shortcut assigned to a child widget will not be triggered once it's part of the main widget. It works if the widget is called by itself but not when it's part of a parent widget.

I have been searching the internet for an solution but haven't had any luck.

Does anybody know what I'm doing wrong?

Cheers,
frank

import sys
from PySide import QtGui, QtCore


class MainWidget(QtGui.QWidget):

    def __init__(self, parent=None):
        super(MainWidget, self).__init__(parent)
        self.makeUI()

    def makeUI(self):
        self.layout = QtGui.QHBoxLayout()
        self.setLayout(self.layout)
        sw1 = SubWidget('test1')
        sw2 = SubWidget('test2')
        sw3 = SubWidget('test3')
        self.layout.addWidget(sw1)
        self.layout.addWidget(sw2)
        self.layout.addWidget(sw3)

class SubWidget(QtGui.QLabel):
    def __init__(self, text, parent=None):
        super(SubWidget, self).__init__(parent)
        self.setText(text)
self.shortcut = QtGui.QShortcut(self, context=QtCore.Qt.WidgetShortcut)
        self.shortcut.setKey('i')
        self.shortcut.activated.connect(self.showInfoWidget)

    def showInfoWidget(self, text):
        print 'showing info for', self.text()


if __name__ == '__main__':
    app = QtGui.QApplication([])
    w = MainWidget()
    w.show()
    sys.exit(app.exec_())



--
ohufxLogo 50x50 <http://www.ohufx.com> *vfx compositing <http://ohufx.com/index.php/vfx-compositing> | *workflow customisation and consulting <http://ohufx.com/index.php/vfx-customising>* *

_______________________________________________
PySide mailing list
PySide@qt-project.org
http://lists.qt-project.org/mailman/listinfo/pyside

Reply via email to