如何使用按钮从第二窗口(小部件)调用主窗口中的函数

How to call a function in mainwindow from secondwindow(widget) with a button

我可以使用以下代码将变量(结果)从 MainWindow 调用到第二个 window(小部件):

主要Window:

def Two_items_show(self):
    self.Two_Items = QtWidgets.QWidget()
    self.ui = Ui_Two_Items(self.result)
    self.ui.setupUi(self.Two_Items)
    self.Two_Items.show()

第二个Window:

class Ui_Two_Items(object):
    def __init__(self, result = ''):
        self.result = result

问题是: Mainwindow 有一个函数,第二个 window 有一个按钮,我想用按钮从第二个 window 调用那个函数。

第二个Window:

self.btn.clicked.connect(self.change)

def change(self):
    self.delete_item()

主要Window:

 def delete_item(self):
    ...
    ...

如果可能的话请告诉我解决方案..

你可以做的是在你的 window 的 init 方法中添加 parent 作为:

def __init__(self, result=None, parent=None)

您可以这样调用 MainWindow 函数:

def change(self):
    parent.delete_item()

然后从 Main 打开第二个 window,

win = UI_Two_Items(result=xx,parent=self)

希望对你有用。