【问题标题】:How to call a function in mainwindow from secondwindow(widget) with a button如何使用按钮从第二窗口(小部件)调用主窗口中的函数
【发布时间】:2020-05-29 19:47:43
【问题描述】:

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

主窗口:

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()

第二个窗口:

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

问题是: 主窗口有一个功能,第二个窗口有一个按钮,我想用按钮从第二个窗口调用该功能。

第二个窗口:

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

def change(self):
    self.delete_item()

主窗口:

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

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

【问题讨论】:

    标签: python-3.x pyqt5 qt-designer


    【解决方案1】:

    您可以做的是在窗口的 init 方法中添加父级:

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

    您可以将 MainWindow 函数称为:

    def change(self):
        parent.delete_item()
    

    从主窗口打开第二个窗口,

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

    希望它对你有用。

    【讨论】:

      猜你喜欢
      • 2018-07-10
      • 1970-01-01
      • 2019-05-07
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      相关资源
      最近更新 更多