Qt4 如何使用PySide读取.ui文件中的小部件
我试图访问通过.ui文件加载的Qt4 如何使用PySide读取.ui文件中的小部件,qt4,pyside,Qt4,Pyside,我试图访问通过.ui文件加载的Qt元素。但是我得到了一个错误: AttributeError: 'TreeviewWidgetSelectProve' object has no attribute '_treeview' 完整的和可分别在这些链接中找到。代码段: ui_file_path = os.path.join( '/home/userdaze/pyside_test', 'resource', 'treeview.ui') loader = QUiL
Qt
元素。但是我得到了一个错误:
AttributeError: 'TreeviewWidgetSelectProve' object has no attribute '_treeview'
完整的和可分别在这些链接中找到。代码段:
ui_file_path = os.path.join(
'/home/userdaze/pyside_test', 'resource', 'treeview.ui')
loader = QUiLoader(self)
ui_file = QFile(ui_file_path)
self._widget_top = loader.load(ui_file, self)
self._treeview = self._widget_top.findChild(QTreeView, '_treeview')
self._treeview.setModel(self._std_model)
无论我是否使用中建议的findChild
,都不会改变这种情况。如果正在使用,则返回NoneType
怎么了?谢谢大家!
Ubuntu Quantal上的python pyside 1.1.1-3恐怕你的.ui文件坏了。 你试过在QtDesigner中打开它吗?当我这样做时,它会报告一个错误。 因此,我用QtDesigner重新创建了该文件(只是一个带有QTreeView的QMainWindows),您的问题就消失了 不过,还有很多其他问题:
- self没有成员uiw(第33行和第38行)
- 据我所知,将TreeviewWidgetSelectProve实例传递给QUiLoader并不起作用,这就是为什么我必须实现自定义加载程序的原因: