pyside6, 按钮控制文本框是否可编辑
时间: 2024-09-30 18:11:56 浏览: 48
PySide6小项目总结
PySide6是Qt的一个Python绑定版本,它允许开发者在Python环境中使用Qt库进行图形用户界面(GUI)应用程序的开发。如果你想在PySide6中创建一个包含按钮,可以控制文本框是否可编辑的功能,你可以按照以下步骤操作:
1. 导入所需的模块:
```python
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QLineEdit, QVBoxLayout
```
2. 创建窗口和基本布局:
```python
class MainWidget(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle('Text Box Control')
layout = QVBoxLayout()
self.setLayout(layout)
# 创建文本框和按钮
self.textbox = QLineEdit()
self.textbox.setReadOnly(True) # 设置默认不可编辑
self.edit_button = QPushButton('启用编辑')
self.edit_button.clicked.connect(self.toggle_editable)
# 将它们添加到布局中
layout.addWidget(self.textbox)
layout.addWidget(self.edit_button)
def toggle_editable(self):
if self.textbox.isReadOnly():
self.textbox.setReadOnly(False)
self.edit_button.setText('禁用编辑')
else:
self.textbox.setReadOnly(True)
self.edit_button.setText('启用编辑')
if __name__ == '__main__':
app = QApplication([])
main_widget = MainWidget()
main_widget.show()
app.exec_()
```
在这个例子中,`toggle_editable`函数会在按钮点击时被触发,当文本框处于只读状态时,按钮文字会显示为“启用编辑”,点击后文本框变为可编辑;反之,如果文本框已可编辑,则切换为只读并显示“禁用编辑”。
阅读全文