python的pyqt6创建10个文本框,设置均默认值为2,并且当其中一个文本框值发生改变时,别的所以文本框值跟着改变
时间: 2024-06-09 16:04:56 浏览: 147
随着下拉框的改变 下拉框的值也在同步变化
4星 · 用户满意度95%
可以使用PyQt6中的QLineEdit控件实现这个需求。首先创建一个窗口并在窗口中添加10个QLineEdit控件,然后为每个控件连接一个槽函数,当其中一个控件值改变时,槽函数会遍历所有控件并将它们的值设置为发生改变的控件的值。
以下是示例代码:
```python
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QLineEdit, QVBoxLayout
class Example(QWidget):
def __init__(self):
super().__init__()
# 创建10个QLineEdit控件
self.line_edits = []
for i in range(10):
line_edit = QLineEdit('2')
self.line_edits.append(line_edit)
# 创建垂直布局并添加控件
vbox = QVBoxLayout()
for line_edit in self.line_edits:
vbox.addWidget(line_edit)
self.setLayout(vbox)
# 连接槽函数
for line_edit in self.line_edits:
line_edit.textChanged.connect(self.on_text_changed)
def on_text_changed(self):
# 获取发生改变的控件
sender = self.sender()
# 遍历所有控件并设置值
for line_edit in self.line_edits:
if line_edit is not sender:
line_edit.setText(sender.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec())
```
在这个示例中,我们使用了一个列表来存储所有的QLineEdit控件,并在初始化函数中创建了这些控件。然后,我们使用一个垂直布局将这些控件添加到窗口中,并为每个控件连接了一个槽函数。当其中一个控件的值发生改变时,槽函数会遍历所有控件并将它们的值设置为发生改变的控件的值。
阅读全文