gpt4 book ai didi

qt - PyQT按钮点击名称

转载 作者:行者123 更新时间:2023-12-04 01:36:48 25 4
gpt4 key购买 nike

我已经在pyQT的(QtoolButton)中动态创建了按钮gridLayout
如何获得在布局中单击的按钮的名称?

我以前不知道名字。
是否有任何触发器可以完成任务?

提前致谢。

最佳答案

您可以在连接到按钮事件的函数中调用self.sender(),以获取触发事件的对象。从那里可以调用对象的objectName()方法来获取名称。

这是一个简单的示例-小部件具有10个按钮,单击按钮将更新标签的文本以显示按钮名称。

import sys
from PyQt4.QtGui import QApplication, QWidget, QToolButton, QLabel, QVBoxLayout, QHBoxLayout

class Widget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)

self.button_layout = QHBoxLayout()
self.widget_layout = QVBoxLayout()

for button_number in xrange(1, 11):
button = QToolButton()
button.setText(str(button_number))
button.setObjectName('Button%d' % button_number)
button.released.connect(self.button_released)
self.button_layout.addWidget(button)

self.status_label = QLabel('No button clicked')

self.widget_layout.addItem(self.button_layout)
self.widget_layout.addWidget(self.status_label)
self.setLayout(self.widget_layout)

def button_released(self):
sending_button = self.sender()
self.status_label.setText('%s Clicked!' % str(sending_button.objectName()))




if __name__ == '__main__':
app = QApplication(sys.argv)

widget = Widget()
widget.show()

sys.exit(app.exec_())

关于qt - PyQT按钮点击名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13050810/

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