使用Qt图编辑器的PySide示例?

时间:2017-10-26 08:29:26

标签: qt pyside diagram

运行PySide Diagram Scene example(大约2010年)时,我收到以下错误。是否有更新的基本图表编辑器示例?

C:\Python34\python.exe C:/Users/dle/Documents/Programming/Python/diagramscene.py
Traceback (most recent call last):
  File "C:/Users/dle/Documents/Programming/Python/diagramscene.py", line 11, in <module>
import diagramscene_rc
  File "C:\Users\dle\Documents\Programming\Python\diagramscene_rc.py", line 404, in <module>
qInitResources()
  File "C:\Users\dle\Documents\Programming\Python\diagramscene_rc.py", line 399, in qInitResources
QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
TypeError: 'qRegisterResourceData' called with wrong argument types:
  qRegisterResourceData(int, str, str, str)
Supported signatures:
  qRegisterResourceData(int, unicode, unicode, unicode)

1 个答案:

答案 0 :(得分:1)

问题是已经为python2生成了文件diagramscene_rc.py,为了解决它你必须重新编译该文件,因为它打开文件夹中的终端并执行以下命令:

pyside-rcc diagramscene.qrc -o diagramscene_rc.py -py3

或者,在分配变量之前放置字母b,如下所示:

qt_resource_data = "\
\x00\x00\x01\x12\ 
...
qt_resource_name = "\
\x00\x06\
...
qt_resource_struct = "\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
....

为:

qt_resource_data = b"\
\x00\x00\x01\x12\ 
...
qt_resource_name = b"\
\x00\x06\
...
qt_resource_struct = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
....