pyside2根据tabWidge页面的名称修改该页面的lineEdit内容
时间: 2024-05-14 22:17:45 浏览: 95
可以通过QTabWidget的currentIndex()方法获取当前选中的页码,然后使用tabText()方法获取该页的名称,最后根据名称找到该页内的lineEdit并修改其内容。
以下是一个示例代码:
```python
from PySide2.QtWidgets import QApplication, QMainWindow, QTabWidget, QLineEdit, QVBoxLayout, QWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Tab Widget Demo")
# 创建 QTabWidget
self.tab_widget = QTabWidget()
self.setCentralWidget(self.tab_widget)
# 添加两个Tab页
self.tab1 = QWidget()
self.tab2 = QWidget()
self.tab_widget.addTab(self.tab1, "Tab 1")
self.tab_widget.addTab(self.tab2, "Tab 2")
# 在第一个Tab页中添加一个lineEdit
self.line_edit1 = QLineEdit(self.tab1)
layout1 = QVBoxLayout(self.tab1)
layout1.addWidget(self.line_edit1)
# 在第二个Tab页中添加一个lineEdit
self.line_edit2 = QLineEdit(self.tab2)
layout2 = QVBoxLayout(self.tab2)
layout2.addWidget(self.line_edit2)
# 绑定Tab页切换事件
self.tab_widget.currentChanged.connect(self.on_tab_changed)
def on_tab_changed(self, index):
# 获取当前选中的Tab页的名称
tab_name = self.tab_widget.tabText(index)
# 根据名称修改lineEdit内容
if tab_name == "Tab 1":
self.line_edit1.setText("Text for Tab 1")
elif tab_name == "Tab 2":
self.line_edit2.setText("Text for Tab 2")
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
当切换到第一个Tab页时,该页的lineEdit将显示"Text for Tab 1";当切换到第二个Tab页时,该页的lineEdit将显示"Text for Tab 2"。
阅读全文