gpt4 book ai didi

python - pyqt5 显示点击了哪个按钮

转载 作者:行者123 更新时间:2023-12-04 16:30:52 25 4
gpt4 key购买 nike

我是 PyQT5 的新手,我希望有几个按钮,并让最后一个按钮处于“选中”状态。当单击另一个按钮时,前一个按钮会“未选中”,而单击的按钮会“选中”。

import sys
from PyQt5.QtWidgets import *

class Example(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(30, 30, 400, 200)
self.initUI()

def initUI(self):
self.button1 = QPushButton(self)
self.button1.setGeometry(40, 40, 100, 50)
self.button1.setText("Button 1")

self.button2 = QPushButton(self)
self.button2.setGeometry(150, 40, 100, 50)
self.button2.setText("Button 2")

self.show()

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

最佳答案

基于您的代码,您可以将 button1button2 添加到具有 exclusive 属性的 QButtonGroup设置为 True

class Example(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(30, 30, 400, 200)
self.initUI()

def initUI(self):
self.button1 = QPushButton(self)
self.button1.setGeometry(40, 40, 100, 50)
self.button1.setText("Button 1")

self.button2 = QPushButton(self)
self.button2.setGeometry(150, 40, 100, 50)
self.button2.setText("Button 2")

self.btn_grp = QButtonGroup()
self.btn_grp.setExclusive(True)
self.btn_grp.addButton(self.button1)
self.btn_grp.addButton(self.button2)

self.btn_grp.buttonClicked.connect(self.on_click)

self.show()

def on_click(self, btn):
pass # do something with the button clicked

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

在这里,我还将一个空槽连接到信号 QButtonGroup.buttonClicked,每当单击组中的按钮时都会发出该信号。

要找出当前选中的按钮是哪个按钮,可以调用方法QButtonGroup.checkedButton()QButtonGroup.checkedId()。前者会返回一个QButton对象,后者会返回一个索引int,对应于按钮添加到组中的顺序。

关于python - pyqt5 显示点击了哪个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42773709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com