gpt4 book ai didi

python - 在pyqt中选择单选按钮时更改lineEdit的文本

转载 作者:行者123 更新时间:2023-11-28 20:08:03 24 4
gpt4 key购买 nike

我有两个 radioButtons 是用 qt designer 制作的,我现在正在用 pyqt 编程。我希望在选择 radioButton 1 时将 lineEdit 的文本更改为“radio 1”,在选择 radioButton 2 时将文本更改为“radio 2” .我怎样才能做到这一点?

最佳答案

这是一个简单的例子。每个 QRadioButton 都连接到它自己的功能。您可以将它们连接到同一个函数并管理通过它发生的事情,但我认为最好是演示信号和槽的工作原理。

有关更多信息,请查看 PyQt4 documentation for new style signals and slots .如果将多个信号连接到同一个插槽,有时使用 .sender() 会很有用。 QObject 的方法,尽管在 QRadioButton 的情况下,只检查 .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/

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