一、判断信号来源
当同时有多个信号链接到同一个槽函数时,往往需要判断信号来源。
Qt
class *example = qobject_cast<class *>(sender());
pyqt5
方式一
#槽函数
def buttonClicked(self):
signalSource = self.sender()
方式二
button.clicked.connect(lambda:self.buttonClicked(1))
button2.clicked.connect(lambda:self.buttonClicked(2))
#槽函数
def buttonClicked(index):
print('Button {0} clicked'.format(index))
二、遍历界面上所有控件
当需要对界面上所有控件进行某一操作时,可以通过遍历的方式,获得所有控件再统一进行操作。
Qt
//以按钮为例,遍历界面上所有按钮,放在一个链表中
QList<QPushButton *> button = this->findChildren<QPushButton *>();
pyqt5
#以按钮为例,遍历窗体mainwidget上所有按钮,放在一个列表中
list = self.ui.mainwidget.findChildren(QPushButton)
版权声明:本文为L1114187703原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。