[PySide] QShortcut suppressed by parent widget?

Frank Rueter | OHUfx frank at ohufx.com
Tue Jul 12 01:09:16 CEST 2016


Ah, much nicer, thanks.
Though I am getting this at the moment:
     QAction::eventFilter: Ambiguous shortcut overload: I

Will investigate further.
Thanks Tibold.

frank


On 07/11/2016 07:42 PM, Tibold Kandrai wrote:
>
> Hey,
>
> You could use actions:
>
> https://gist.github.com/tibold/7451adb89c41c3718148168cee191ac3
>
> Tibold Kandrai
>
> Software Architect & Engineer
>
> *From:*PySide 
> [mailto:pyside-bounces+kandraitibold=gmail.com at qt-project.org] *On 
> Behalf Of *Frank Rueter | OHUfx
> *Sent:* Monday, 11 July, 2016 09:17
> *To:* Alexey Vihorev <vihorev at gmail.com>
> *Cc:* pyside at qt-project.org
> *Subject:* Re: [PySide] QShortcut suppressed by parent widget?
>
> Thanks, but it doesn't seem to make a difference.
>
> On 07/11/2016 07:13 PM, Alexey Vihorev wrote:
>
>     self.shortcut = QtGui.QShortcut(self,
>     context=QtCore.Qt.WidgetShortcut)
>
>     The context. In your case IMO it should be
>     |QtCore.Qt.WindowShortcut. |More here
>     <http://doc.qt.io/qt-4.8/qt.html#ShortcutContext-enum>
>
>     2016-07-11 9:30 GMT+03:00 Frank Rueter | OHUfx <frank at ohufx.com
>     <mailto:frank at ohufx.com>>:
>
>         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 at qt-project.org <mailto:PySide at qt-project.org>
>         http://lists.qt-project.org/mailman/listinfo/pyside
>
>
>
>
>     -- 
>
>     Алексей Вихорев
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20160712/ead990f3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 2666 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20160712/ead990f3/attachment.png>


More information about the PySide mailing list