Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Error: Unable to determine callable overload
Qt 6.12 LTS is out! See what's new in the release blog

Error: Unable to determine callable overload

Scheduled Pinned Locked Moved Solved QML and Qt Quick
2 Posts 1 Posters 761 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • johngodJ Offline
    johngodJ Offline
    johngod
    wrote on last edited by
    #1

    I have a static qml object called CommandsEntites with a signal commandCprFinish() that is connect to other signals from several different dinamic Node objects, called LineThick and CircleThick.
    This two are derived from a base Node item called EntityTemplate, where the receiver signal is defined.

    The code worked fine until Qt6.4.3, but in Qt6.5 and 6.6, I'm getting run time error

    Error: Unable to determine callable overload.  Candidates are:
    

    Maybe it's a Qt bug, since Qt6.5 ? Also can someone confirme if the dynamic objects are deleted, the connections are safely destroyed without the need of using disconnect() ?

    Parts of the code

    CommandsEntites.qml

    Node {
    	signal commandCprFinish(pos: vector3d)
    
    	function receiveEvent(evt: int, p: vector3d, command){
        .....	
    	commandCprFinish(p)// Error: Unable to determine callable overload.  Candidates are:
    	........
    	}
    }
    

    MainView.qml

    Item {
    	CommandsEntites {
    		id: commands
    	}
    	
    	function addCircle(center: vector3d, radius: vector3d) {
    		var entityCircle = Qt.createComponent("qrc:/qml/qmlEntities/CircleThick.qml")
    		let newCircle = entityCircle.createObject(entitesManager)
    		.....
    		commands.commandCprFinish.connect(newCircle.commandCprFinish)
    		.......
    	}
    	
    	function addLine(p0: vector3d, p1: vector3d){
    		var entityLine = Qt.createComponent("qrc:/qml/qmlEntities/LineThick.qml")
    		let newLine = entityLine.createObject(entitesManager)
    		.......
    		commands.commandCprFinish.connect(newLine.commandCprFinish)
    		......
    	}
    }
    

    EntityTemplate.qml

    Model {
    	....
    	signal commandCprFinish(pos: vector3d)
    }
    

    LineThick.qml

    EntityTemplate {
    	onCommandCprFinish: function(pos){
    	}
    }
    

    CircleThick.qml

    EntityTemplate {
    	onCommandCprFinish: function(pos){
    	}
    }
    
    johngodJ 1 Reply Last reply
    0
    • johngodJ johngod

      I have a static qml object called CommandsEntites with a signal commandCprFinish() that is connect to other signals from several different dinamic Node objects, called LineThick and CircleThick.
      This two are derived from a base Node item called EntityTemplate, where the receiver signal is defined.

      The code worked fine until Qt6.4.3, but in Qt6.5 and 6.6, I'm getting run time error

      Error: Unable to determine callable overload.  Candidates are:
      

      Maybe it's a Qt bug, since Qt6.5 ? Also can someone confirme if the dynamic objects are deleted, the connections are safely destroyed without the need of using disconnect() ?

      Parts of the code

      CommandsEntites.qml

      Node {
      	signal commandCprFinish(pos: vector3d)
      
      	function receiveEvent(evt: int, p: vector3d, command){
          .....	
      	commandCprFinish(p)// Error: Unable to determine callable overload.  Candidates are:
      	........
      	}
      }
      

      MainView.qml

      Item {
      	CommandsEntites {
      		id: commands
      	}
      	
      	function addCircle(center: vector3d, radius: vector3d) {
      		var entityCircle = Qt.createComponent("qrc:/qml/qmlEntities/CircleThick.qml")
      		let newCircle = entityCircle.createObject(entitesManager)
      		.....
      		commands.commandCprFinish.connect(newCircle.commandCprFinish)
      		.......
      	}
      	
      	function addLine(p0: vector3d, p1: vector3d){
      		var entityLine = Qt.createComponent("qrc:/qml/qmlEntities/LineThick.qml")
      		let newLine = entityLine.createObject(entitesManager)
      		.......
      		commands.commandCprFinish.connect(newLine.commandCprFinish)
      		......
      	}
      }
      

      EntityTemplate.qml

      Model {
      	....
      	signal commandCprFinish(pos: vector3d)
      }
      

      LineThick.qml

      EntityTemplate {
      	onCommandCprFinish: function(pos){
      	}
      }
      

      CircleThick.qml

      EntityTemplate {
      	onCommandCprFinish: function(pos){
      	}
      }
      
      johngodJ Offline
      johngodJ Offline
      johngod
      wrote on last edited by
      #2

      Will mark this has solved. I upgraded Qt 6.6 to the latest beta release and it works again. I will assume it is a bug in Qt6.5.x

      1 Reply Last reply
      0
      • johngodJ johngod has marked this topic as solved on

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt
      • Unsolved