PyQt 更改 .ui 文件中的元素

PyQt change element in .ui file

我在 .ui 文件中有基于 pyqt 的应用程序和设计。他们使用信号和插槽相互通信,但我需要更改设计中元素的属性。是否有可能做到这一点?伪代码我需要什么:

@pyqtSlot()
def click_my_btn(self, sender):
    button = QtGui.QPushButton(button)
    button.hide()

您可以通过名称访问 .ui 设计中的元素。例如。主window有一个按钮的设计:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  ...
  <widget class="QPushButton" name="btn"/>
  ...
 </widget>
</ui>

你用它初始化小部件对象:

class MainWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        uic.loadUi('window.ui', self)

main_window = MainWindow()

然后您可以通过您的方法访问该按钮:

@pyqtSlot()
def click_my_btn(self, sender):
    main_window.btn.hide()