首页 > 解决方案 > PyQt GUI 项目在其主类之外

问题描述

我如何在 MainApp 类之外使用 GUI 组件,例如pushButton ?

代码

class MainApp(QMainWindow, FORM_CLASS):
   def __init__(self, parent=None):
      super(MainApp, self).__init__(parent)
      QMainWindow.__init__(self)
      self.setupUi(self)
      self.btnConnect.clicked.connect(self.connect)

标签: python

解决方案


您可以将引用传递给其他对象,如下所示:

class MainApp(QMainWindow, FORM_CLASS):
   def __init__(self, parent=None):
      super(MainApp, self).__init__(parent)
      QMainWindow.__init__(self)
      self.setupUi(self)
      self.btnConnect.clicked.connect(self.connect)

class MyOtherClass(object):
    def __init__(self, the_button):
        self.btn = the_button

myApp = MainApp()
my_other_class = MyOtherClass(myApp.btnConnect)

推荐阅读