pyqt5如何让按钮保持press状态
时间: 2023-12-01 16:03:20 浏览: 81
您好!对于您的问题,我可以提供以下的解决方案:
在PyQt5中,可以使用QPushButton类的setCheckable()和setChecked()方法来实现按钮的保持press状态功能。具体实现方式如下:
1. 在创建按钮时,调用setCheckable(True)方法将按钮设置为可被选中状态。
2. 在需要设置按钮为press状态时,调用setChecked(True)方法即可实现。
示例代码如下:
``` python
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 button'
self.left = 10
self.top = 10
self.width = 320
self.height = 200
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
button = QPushButton('Press me', self)
button.setToolTip('This is an example button')
button.move(100,70)
button.setCheckable(True)
button.clicked.connect(self.on_click)
self.show()
@pyqtSlot()
def on_click(self):
print('Button pressed')
button = self.sender()
if button.isChecked():
button.setText('Pressed')
else:
button.setText('Press me')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
```
希望能够帮到您!如果您有任何其他问题,都可以继续向我提问。
阅读全文