QtDesigner和PySide:QTableWidget无法访问

4

我在QtDesigner中制作了一个表单。使用PySide的函数来加载此表单。

widget = loader.load(file, parent)

然而,QTableWidget控件(对象名称为buffer_table)无法访问。

widget.buffer_table

如果我使用QPushButton,它可以工作。如何使其正常工作? 我想在Python中填充表格。
这是我想要使用的ui文件:http://pastebin.com/6PZFrvmr 编辑: 当我创建一个新表并尝试加载它时,它似乎可以工作。但是,如果我将它放在QTabWidget中,我就无法访问它。
编辑2: widget.findChild(QWidget, "buffer_table"): 搜索和查找就是诀窍!

你能发布你的 .ui 文件吗? - alexisdm
@alexisdm:我已经编辑了帖子并添加了文件。 - AkaBkn
1个回答

2
你可以尝试使用以下代码查看是否存在表格:widget.findChild(QWidget, "buffer_table")(即使是从父级开始搜索,因为这是一个递归搜索)。

好的,看起来问题更深入了。感谢您的参与。这段 PySide Python 代码是在 IDAPython 中执行的(IDA Pro 的 Python 模块)。但是,如果我尝试访问 widget.buffer_table,则会出现以下错误:PySide.QtGui.QWidget 没有属性 buffer_table。 - AkaBkn
我觉得周围的 QTabWidget 可能是个问题。 - AkaBkn
1
@AkaBkn 你可以尝试使用以下代码查找表是否存在:widget.findChild(QWidget, "buffer_table")(即使是从父级进行递归搜索)。 - alexisdm
谢谢!这个方法起作用了。现在它可以正常工作,除了会覆盖标题栏显示为(1, 2, 3, 4, 5...)。似乎当我将内容放入QTabWidget、QToolBox或者QStackedWidget中时,它不会生成指针属性在小部件中。但是查找功能还是可以的。 - AkaBkn
哎呀,那是我的错。我在表格上执行了clear()操作,这也删除了标题。 - AkaBkn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接