gpt4 book ai didi

python - setEnabled(True/False) -> 当多个QLineEdit不为空时QPushButton

转载 作者:行者123 更新时间:2023-11-30 23:03:33 29 4
gpt4 key购买 nike

我有一个带有 3 个 QLineEdit 和 2 个 QPushButton 的 GUI 应用程序。

当“TEXT INPUT A”和“TEXT INPUT B”不为空时,我想将“Button 1”设置为“True”,如果所有 3 个“TEXT INPUT”都不为空,则将“Button 2”设置为“True” .

如果所有 3 个“文本输入”都有文本,则按钮为“True”,如果我删除“文本输入 C”中的文本,则“按钮 2”将返回“False”。

如果“文本输入 A”或“文本输入 B”返回空,则与“按钮 1”相同。

有什么建议吗?

import PyQt4.QtGui as gui, PyQt4.QtCore as core

app = gui.QApplication([])
window = gui.QWidget()
window.resize(256, 0)
window.setWindowTitle('MY TITLE')
layout = gui.QVBoxLayout()


A_edit = gui.QLineEdit()
A_title = gui.QLabel('TEXT INPUT A')
A_edit.setObjectName('TITLE_A')
layout.addWidget(A_title)
layout.addWidget(A_edit)

B_edit = gui.QLineEdit()
B_title = gui.QLabel('TEXT INPUT B')
B_edit.setObjectName('TITLE_B')
layout.addWidget(B_title)
layout.addWidget(B_edit)

C_edit = gui.QLineEdit()
C_title = gui.QLabel('TEXT INPUT C')
C_edit.setObjectName('TITLE_C')
layout.addWidget(C_title)
layout.addWidget(C_edit)

button_1 = gui.QPushButton('button 1')
button_2 = gui.QPushButton('button 2')

layout.addWidget(button_1)
layout.addWidget(button_2)
button_1.setEnabled(False)
button_2.setEnabled(False)

window.setLayout(layout)
window.show()

app.exec_()

最佳答案

您可以将 3 个行编辑连接到一个函数

A_edit.textChanged.connect(check_buttons)
B_edit.textChanged.connect(check_buttons)
C_edit.textChanged.connect(check_buttons)

并在 check_buttons 函数中检查每一行编辑

check_buttons():
a = A_edit.text()
b = B_edit.text()
c = C_edit.text()
if a and b:
button_1.setEnabled(True)
else:
button_1.setEnabled(False)
if a and b and c:
button_2.setEnabled(True)
else:
button_2.setEnabled(False)

关于python - setEnabled(True/False) -> 当多个QLineEdit不为空时QPushButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34031098/

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