PyQt:按下按钮以获取标签文本

问题描述 投票:0回答:1

如何根据标签前面的按钮获取标签上的文本?我能以某种方式基于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_())
python pyqt
1个回答
0
投票

您可以使用[c0]中指出的功能,使用functools.partial将文本作为额外的参数传递给插槽。

my previous answer
© www.soinside.com 2019 - 2024. All rights reserved.