pyside实现tabWidge在不同tab的lineEdit组件显示数字
时间: 2024-02-15 07:05:08 浏览: 130
可以通过以下代码实现:
```python
from PySide2.QtWidgets import QApplication, QMainWindow, QTabWidget, QLineEdit
class MyMainWindow(QMainWindow):
def __init__(self):
super().__init__()
.setWindowTitle("TabWidget Example")
# 创建 Tab
self.tab_widget = QTabWidget(self)
self.setCentralWidget(self.tab_widget)
# 在 TabWidget 中添加两个 Tab
self.tab1 = QLineEdit(self)
self.tab2 = QLineEdit(self)
self.tab_widget.addTab(self.tab1, "Tab 1")
self.tab_widget.addTab(self.tab2, "Tab 2")
# 设置 Tab 中的 LineEdit 组件初始值为 0
self.tab1.setText("0")
self.tab2.setText("0")
# 绑定 LineEdit 组件的文本改变事件
self.tab1.textChanged.connect(self.update_tab2)
self.tab2.textChanged.connect(self.update_tab1)
# 定义文本改变事件的槽函数
def update_tab2(self, text):
# 获取当前 Tab 的文本值
value = int(text)
# 将文本值加 1,并设置到另一个 Tab 的 LineEdit 组件中
self.tab2.setText(str(value + 1))
def update_tab1(self, text):
value = int(text)
self.tab1.setText(str(value + 1))
if __name__ == "__main__":
app = QApplication([])
window = MyMainWindow()
window.show()
app.exec_()
```
该代码创建了一个带有两个 Tab 的窗口,每个 Tab 内都有一个 LineEdit 组件,初始值均为 0。当一个 Tab 内的 LineEdit 组件的文本改变时,会触发对应的文本改变事件,然后通过槽函数将另一个 Tab 的 LineEdit 组件的文本值加 1 并更新。
阅读全文