AcademySoftwareFoundation / OpenTimelineIO

Open Source API and interchange format for editorial timeline information.
http://opentimeline.io
Apache License 2.0
1.46k stars 289 forks source link

IndexError: Signature "triggered()" not found for signal: #1806

Open chlowden opened 1 week ago

chlowden commented 1 week ago

Required:


[ x] I believe this isn't a duplicate topic
[x ] This report is not related to an adapter

For adapter related issues, please go to the appropriate repository - likely in the OpenTimelineIO github organization. For general questions and help please use the Academy Software Foundation slack, #opentimelineio.

Select One:

[ ] Build problem
[x ] Incorrect Functionality or bug
[ ] New feature or functionality

Description

Following an initial install on Rocky 8.10, then loading an otio file that imports fine in davinci resolve, I get the error below

otioview SolLevante_HDR10_r2020_ST2084_UHD_24fps_1000nit.otio Traceback (most recent call last): File "/home/admin/anaconda3/bin/otioview", line 8, in sys.exit(main()) ^^^^^^ File "/home/admin/anaconda3/lib/python3.11/site-packages/opentimelineview/console.py", line 292, in main window = Main( ^^^^^ File "/home/admin/anaconda3/lib/python3.11/site-packages/opentimelineview/console.py", line 153, in init self._create_navigation_menu(navigation_menu) File "/home/admin/anaconda3/lib/python3.11/site-packages/opentimelineview/console.py", line 222, in _create_navigation_menu navigation_menu.triggered[[QAction]].connect(__callback)


IndexError: Signature "triggered()" not found for signal: "triggered". Available candidates: "triggered(QAction*)"

# Optional
-----------

## Environment
Rocky 8.10
Operating System:  
Python version if appropriate:  
Python 3.11.7

## Reproduction Steps

## Log output if appropriate

## Sample data and other attachements
spezialspezial commented 1 day ago

I think the signal in qmenu.h is not meant to be a C-array of QActions

Q_SIGNALS: void triggered(QAction *action);

changing the overload to "navigation_menu.triggered[QAction].connect(__callback)" makes it work at least.


diff --git a/src/opentimelineview/console.py b/src/opentimelineview/console.py
index 2c4b2ee..ba18cc1 100755
--- a/src/opentimelineview/console.py
+++ b/src/opentimelineview/console.py
@@ -219,7 +219,7 @@ class Main(QtWidgets.QMainWindow):

         def __callback():
             self._navigation_filter_callback(actions)
-        navigation_menu.triggered[[QAction]].connect(__callback)
+        navigation_menu.triggered[QAction].connect(__callback)

     def _navigation_filter_callback(self, filters):
         nav_filter = 0