📅  最后修改于: 2023-12-03 15:33:53.832000             🧑  作者: Mango
在 PyQt5 中,可以使用 findChild()
方法在窗口小部件的子级中查找特定 ID 的小部件。
以下是在 PyQt5 中使用 findChild()
方法查找 QSpinBox 子部件的示例:
spin_box = self.findChild(QSpinBox, 'mySpinBox')
在上面的示例中,我们搜索具有 ID 'mySpinBox' 的 QSpinBox。该方法返回QObject,因此我们需要在QObject上使用QSpinBox强制转换。
spin_box = self.findChild(QSpinBox, 'mySpinBox')
spin_box.setValue(30)
在上面的示例中,我们使用找到的 QSpinBox 设置了初始值。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QSpinBox
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox = QVBoxLayout()
spin_box = QSpinBox(self, objectName='mySpinBox')
spin_box.setMaximum(100)
vbox.addWidget(spin_box)
self.setLayout(vbox)
spin_box = self.findChild(QSpinBox, 'mySpinBox')
spin_box.setValue(30)
self.setGeometry(100, 100, 300, 150)
self.setWindowTitle('PyQt5 QSpinBox – 使用 ID 寻找孩子')
self.show()
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
app.exec_()
在上面的示例中,我们首先创建一个 QSpinBox 并设置其对象名称为 'mySpinBox'。然后,我们使用 findChild()
方法查找具有 ID 'mySpinBox' 的 QSpinBox。最后,我们设置找到的 QSpinBox 的默认值,以便它显示为 30。
该示例显示了如何使用 findChild()
方法在 PyQt5 中查找 QSpinBox 子部件的特定 ID。