Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hboxlayout中的PySide Qt4小部件交换_Qt4_Widget_Pyside - Fatal编程技术网

hboxlayout中的PySide Qt4小部件交换

hboxlayout中的PySide Qt4小部件交换,qt4,widget,pyside,Qt4,Widget,Pyside,我想交换QHBoxLayout中的小部件。这段代码似乎可以工作,但只要我执行实际的应用程序.\u exec(),就会在抛出“boost::python::error”实例后调用terminate,代码就会崩溃。有没有办法得到实际的错误信息?(或解决此问题) 我是个C++的人,而不是一个巨蛇座,所以如果这没有意义的话,请原谅我。然而,在我看来,gameArea.parent().layout()似乎返回了一个QLayout。该对象没有insertWidget方法 除此之外,我不确定boost::p

我想交换QHBoxLayout中的小部件。这段代码似乎可以工作,但只要我执行实际的
应用程序.\u exec()
,就会在抛出“boost::python::error”实例后调用
terminate,代码就会崩溃。有没有办法得到实际的错误信息?(或解决此问题)


<>我是个C++的人,而不是一个巨蛇座,所以如果这没有意义的话,请原谅我。然而,在我看来,gameArea.parent().layout()似乎返回了一个QLayout。该对象没有insertWidget方法


除此之外,我不确定boost::python::error\u alread\u集来自何处。你能做一些智能打印来尝试确定boost错误何时进入画面吗?

是的-这是一个QLayout,但完全是QHBoxLayout(这里不需要强制转换)。不幸的是,我认为我没有访问其他任何东西的权限-在
应用程序之前没有错误。_exec()
,然后一些东西内部出现故障,所以我无法以任何方式捕获它-整个应用程序只是退出。除了Qt,你还使用什么?据我所知,Qt不是基于boost。。。(非pythonist问)e8johan:qt4的pyside接口是在你不移除
gameArea
的情况下使用boostand生成的?更新引用时可能出现问题。。。您是否尝试调用
gameArea.setParent(None)
调用
gameArea.destroy()
gameArea.deleteLater()
gaParent = gameArea.parent().layout()
gaParent.removeWidget(gameArea)
gameArea = DrawingScreen()
gameArea.setObjectName("gameArea")
gaParent.insertWidget(0, gameArea)