Qt,我现在有两个QPushButton分别是Btn1和Btn2和一个QLabel lb,默认值是btn1禁用。点其中一个button后此button会被禁用另一个button会启用并设置label的文字为1或者2
时间: 2024-04-23 17:25:05 浏览: 48
可以通过如下代码实现:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('QPushButton Example')
# 创建按钮和标签
self.btn1 = QPushButton('Button 1', self)
self.btn2 = QPushButton('Button 2', self)
self.lb = QLabel('1', self)
# 创建垂直布局,并将按钮和标签添加到布局中
vbox = QVBoxLayout()
vbox.addWidget(self.btn1)
vbox.addWidget(self.btn2)
vbox.addWidget(self.lb)
# 设置初始状态
self.btn1.setEnabled(False)
self.btn2.setEnabled(True)
# 连接按钮的点击事件
self.btn1.clicked.connect(self.btn1Clicked)
self.btn2.clicked.connect(self.btn2Clicked)
# 设置布局
self.setLayout(vbox)
self.show()
def btn1Clicked(self):
self.btn1.setEnabled(False)
self.btn2.setEnabled(True)
self.lb.setText('1')
def btn2Clicked(self):
self.btn1.setEnabled(True)
self.btn2.setEnabled(False)
self.lb.setText('2')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
通过 `setEnabled` 方法可以设置按钮的启用和禁用状态,通过 `setText` 方法可以设置标签的文字,通过连接按钮的点击事件,可以在点击按钮时调用对应的方法,实现按钮的禁用和启用以及标签文字的变化。
阅读全文