我有一个小部件,它是用户将在其中创建图形的区域,节点是其他小部件。图形区域代码大致如下:
class GraphArea(QtWidgets.QFrame):
def __init__(self, parent=None):
super(GraphArea, self).__init__(parent)
self.setObjectName('GraphArea')
self.parent = parent
self.add_widget = None
当用户添加新节点(我称它们为实体)时,有一个函数被调用:
def create_widget(self, add_info, x, y):
self.add_widget = Entity(self, add_info[1], add_info[2], 1)
self.add_widget.move(x, y)
没什么特别的。问题是,创建的窗口小部件不可见。尽管它位于其中,但大小和位置都位于GraphArea中。当我尝试使用布局时,一切正常。我缺少明显的东西吗?
请注意,当我在__init__
函数中粘贴“创建”代码时,它可以正常工作。问题似乎出在初始化UI并尝试在随机时间将小部件添加到GraphArea中时。
答案 0 :(得分:0)
对于任何想知道的人,我必须在创建的窗口小部件上调用.show()
函数。像这样:
def create_widget(self, add_info, x, y):
self.add_widget = Entity(self, add_info[1], add_info[2], 1)
self.add_widget.move(x, y)
self.add_widget.show()