如何根据标签前面的按钮获取标签上的文本?我能以某种方式基于sender()。pos()获得标签小部件吗? *注意:我不想在按钮小部件内放置文本。我想将文本作为标签保留在背景中。
class FormWidget(QWidget):
def __init__(self, parent=None):
super(FormWidget, self).__init__(parent)
self.grid = QGridLayout(self)
x = 0
for i in range(0, 6): # Columns
for k in range(0, 6): # Rows
self.PrimaryComboLabel = QLabel()
self.PrimaryComboLabel.setText(str(x))
self.grid.addWidget(self.PrimaryComboLabel, k, i, 1, 1, QtCore.Qt.AlignCenter)
self.PrimaryComboButton = QPushButton('')
self.grid.addWidget(self.PrimaryComboButton, k, i, 1, 1)
self.PrimaryComboButton.clicked.connect(lambda: print(self.sender().pos().x(), self.sender().pos().y()))
self.PrimaryComboButton.setFlat(True)
self.PrimaryComboButton.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
x = x + 1
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = FormWidget()
ex.show()
sys.exit(app.exec_())
您可以使用[c0]中指出的功能,使用functools.partial将文本作为额外的参数传递给插槽。
my previous answer