。。我怎样才能做到这一点?

最佳答案

这里有一个简单的例子。。。
有关更多信息,请查看PyQt4documentation for new style signals and slots。如果将多个信号连接到同一个时隙,有时使用QRadioButton.sender()方法是有用的,尽管在QObject的情况下,可能更容易检查所需按钮的.isChecked()方法。

import sys
from PyQt4.QtGui import QApplication, QWidget, QVBoxLayout, \
    QLineEdit, QRadioButton

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

        self.widget_layout = QVBoxLayout()

        self.radio1 = QRadioButton('Radio 1')
        self.radio2 = QRadioButton('Radio 2')
        self.line_edit = QLineEdit()

        self.radio1.toggled.connect(self.radio1_clicked)
        self.radio2.toggled.connect(self.radio2_clicked)

        self.widget_layout.addWidget(self.radio1)
        self.widget_layout.addWidget(self.radio2)
        self.widget_layout.addWidget(self.line_edit)
        self.setLayout(self.widget_layout)

    def radio1_clicked(self, enabled):
        if enabled:
            self.line_edit.setText('Radio 1')

    def radio2_clicked(self, enabled):
        if enabled:
            self.line_edit.setText('Radio 2')


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

  sys.exit(app.exec_())

关于python - 在pyqt中选择单选按钮时更改lineEdit的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15076576/

10-10 23:32