暂停类并等待子类返回用户输入值,然后继续

2024-09-29 19:20:52 发布

您现在位置:Python中文网/ 问答频道 /正文

如何暂停当前/主类,等待子类执行并返回用户输入值,然后继续执行主类?你知道吗

示例:(从中搜索人员) 用户单击“Search Person”按钮,mainclassconner实例化searchpersoncaller,它返回用户的选择(用户双击QTableView中的一行)。然后mainClassController创建一个新选项卡,显示所选用户

在上面的示例中,如何让mainClassController等待SearchPersonCaller返回用户选择的值?你知道吗

尝试:主类.py地址:

    self.searchPerson = searchPersonContoller()
    self.searchPerson.show()
    self.userSelection = searchPerson.getUserSelection()
        if self.userSelection > 0:
              #continue mainClass's code here

你知道吗子类.py地址:

def getUserSelection(self):
        self.selectionModel = self.ui.tbl.selectionModel()                  
        self.rowList = self.selectionModel.selectedRows()                               
        self.i = self.model.index(self.rowList[0].row(), 0, QtCore.QModelIndex())   
        self.close()
        return self.i.data()  

问题是子类还没有返回值,当主类调用它时,它应该等到用户做出选择。你知道吗


Tags: 用户pyself示例search人员地址子类
1条回答
网友
1楼 · 发布于 2024-09-29 19:20:52

正如乔恩·克莱门茨在上面的评论中指出的那样,应该有一个信号让主要的类去倾听。在玩了一会儿之后,我想到了这个

你知道吗主类.py地址:

    self.searchPerson = searchPersonContoller()
    self.searchPerson.show()
    self.searchPerson.ui.tbl.doubleClicked.connect(self.searchPersonReturn)

def searchPersonReturn(self):
     #continue mainClass's code here

相关问题 更多 >

    热门问题