Results 1 to 1 of 1

Thread: PyQt: PyUIC-generated keyboard shortcuts not working under Linux (Ubuntu 16.10)

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Nov 2008
    Posts
    27
    Qt products
    Qt4
    Platforms
    Windows

    Default PyQt: PyUIC-generated keyboard shortcuts not working under Linux (Ubuntu 16.10)

    I want to create a widget-based PyQt5 application. I use Qt Designer to make UI forms for it. In this application, I have a few keyboard shortcuts for menu actions. The shortcuts work under Windows, but do nothing under Ubuntu (but still work if explicitly clicked by mouse).

    Here' the code generated by PyUIC with my code after it. You should press Ctrl+C to close the window, but alas, the window is closed only if explicitly click to this menu action.

    Qt Code:
    1. # -*- coding: utf-8 -*-
    2.  
    3. # Form implementation generated from reading ui file ui_demo_window.ui
    4. #
    5. # Created by: PyQt5 UI code generator 5.8.2
    6. #
    7. # WARNING! All changes made in this file will be lost!
    8.  
    9. from PyQt5 import QtCore, QtGui, QtWidgets
    10.  
    11. class Ui_DemoWindow(object):
    12. def setupUi(self, DemoWindow):
    13. DemoWindow.setObjectName("DemoWindow")
    14. DemoWindow.resize(800, 600)
    15. self.centralwidget = QtWidgets.QWidget(DemoWindow)
    16. self.centralwidget.setObjectName("centralwidget")
    17. DemoWindow.setCentralWidget(self.centralwidget)
    18. self.menubar = QtWidgets.QMenuBar(DemoWindow)
    19. self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 25))
    20. self.menubar.setObjectName("menubar")
    21. self.menuFile = QtWidgets.QMenu(self.menubar)
    22. self.menuFile.setObjectName("menuFile")
    23. DemoWindow.setMenuBar(self.menubar)
    24. self.statusbar = QtWidgets.QStatusBar(DemoWindow)
    25. self.statusbar.setObjectName("statusbar")
    26. DemoWindow.setStatusBar(self.statusbar)
    27. self.close_action = QtWidgets.QAction(DemoWindow)
    28. self.close_action.setObjectName("close_action")
    29. self.menuFile.addAction(self.close_action)
    30. self.menubar.addAction(self.menuFile.menuAction())
    31.  
    32. self.retranslateUi(DemoWindow)
    33. self.close_action.triggered.connect(DemoWindow.close)
    34. QtCore.QMetaObject.connectSlotsByName(DemoWindow)
    35.  
    36. def retranslateUi(self, DemoWindow):
    37. _translate = QtCore.QCoreApplication.translate
    38. DemoWindow.setWindowTitle(_translate("DemoWindow", "MainWindow"))
    39. self.menuFile.setTitle(_translate("DemoWindow", "File"))
    40. self.close_action.setText(_translate("DemoWindow", "Close"))
    41. self.close_action.setShortcut(_translate("DemoWindow", "Ctrl+C"))
    42.  
    43.  
    44.  
    45. ### AND HERE'S MY CODE
    46.  
    47.  
    48. import sys
    49.  
    50. from PyQt5 import QtWidgets, QtGui, QtCore
    51.  
    52. class DemoWindow(QtWidgets.QMainWindow, Ui_DemoWindow):
    53. def __init__(self, parent=None):
    54. QtWidgets.QMainWindow.__init__(self, parent)
    55. self.setupUi(self)
    56.  
    57.  
    58. if __name__ == "__main__":
    59.  
    60. #########################################
    61. sys._excepthook = sys.excepthook
    62. def exception_hook(exctype, value, traceback):
    63. sys._excepthook(exctype, value, traceback)
    64. sys.exit(1)
    65. sys.excepthook = exception_hook
    66. ##########################################
    67.  
    68.  
    69. app = QtWidgets.QApplication(sys.argv)
    70.  
    71. window = DemoWindow()
    72. window.show()
    73.  
    74. sys.exit(app.exec_())
    To copy to clipboard, switch view to plain text mode 


    Can anyone tell me, what can I do to fix it?

    P.S. If needed, here's my UI form code, generated by Qt Designer:

    Qt Code:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <ui version="4.0">
    3. <class>DemoWindow</class>
    4. <widget class="QMainWindow" name="DemoWindow">
    5. <property name="geometry">
    6. <rect>
    7. <x>0</x>
    8. <y>0</y>
    9. <width>800</width>
    10. <height>600</height>
    11. </rect>
    12. </property>
    13. <property name="windowTitle">
    14. <string>MainWindow</string>
    15. </property>
    16. <widget class="QWidget" name="centralwidget"/>
    17. <widget class="QMenuBar" name="menubar">
    18. <property name="geometry">
    19. <rect>
    20. <x>0</x>
    21. <y>0</y>
    22. <width>800</width>
    23. <height>25</height>
    24. </rect>
    25. </property>
    26. <widget class="QMenu" name="menuFile">
    27. <property name="title">
    28. <string>File</string>
    29. </property>
    30. <addaction name="close_action"/>
    31. </widget>
    32. <addaction name="menuFile"/>
    33. </widget>
    34. <widget class="QStatusBar" name="statusbar"/>
    35. <action name="close_action">
    36. <property name="text">
    37. <string>Close</string>
    38. </property>
    39. <property name="shortcut">
    40. <string>Ctrl+C</string>
    41. </property>
    42. </action>
    43. </widget>
    44. <resources/>
    45. <connections>
    46. <connection>
    47. <sender>close_action</sender>
    48. <signal>triggered()</signal>
    49. <receiver>DemoWindow</receiver>
    50. <slot>close()</slot>
    51. <hints>
    52. <hint type="sourcelabel">
    53. <x>-1</x>
    54. <y>-1</y>
    55. </hint>
    56. <hint type="destinationlabel">
    57. <x>399</x>
    58. <y>299</y>
    59. </hint>
    60. </hints>
    61. </connection>
    62. </connections>
    63. </ui>
    To copy to clipboard, switch view to plain text mode 
    Last edited by YaK; 25th April 2017 at 12:56.

Similar Threads

  1. Can't get keyboard shortcuts to work
    By aquavitae in forum Qt Programming
    Replies: 5
    Last Post: 22nd January 2012, 21:07
  2. Keyboard shortcuts (Mac specific?)
    By lutz in forum Newbie
    Replies: 0
    Last Post: 25th February 2011, 01:57
  3. Qt Creator Set keyboard shortcuts for home and end key on mac
    By dpatel in forum Qt Tools
    Replies: 1
    Last Post: 7th February 2011, 22:32
  4. Enumerating all keyboard shortcuts
    By jonks in forum Qt Programming
    Replies: 0
    Last Post: 7th November 2010, 22:59
  5. Keyboard shortcuts problem.
    By Lemming in forum Qt Programming
    Replies: 4
    Last Post: 5th April 2006, 17:12

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.