[英]PyQt Can't get text from QlineEdit using text()
我有一个QlineEdit
,并使用以下代码从中恢复文本时:
doc = self.lineEdit_2.text()
def pushButton_7_clicked(doc):
print(doc)
self.pushButton_7.clicked.connect(pushButton_7_clicked)
我没有收到任何错误,但是无论QlineEdit
是否包含文本,它都会打印False
。
clicked
信号(请参阅docs )将属性传递给pushButton_7_clicked
回调:
无效QAbstractButton :: clicked(布尔检查=假)
当激活按钮时(即,当鼠标光标位于按钮内部时,按下然后释放),键入快捷键或调用click()或animateClick()时,将发出此信号。 值得注意的是,如果您调用setDown(),setChecked()或toggle(),则不会发出此信号。
如果按钮是可检查的,则如果按钮被选中,则true,否则为false。
因此,定义回调时,第一个参数是checked
布尔值。
在回调定义中将其称为doc
并没有任何区别。 您没有在此处传递文档实例。 您在这里得到的是checked
布尔值,始终为False
。
那是一个纯python问题。
a = 12
def b(a):
print(a)
b(69)
这将打印69,12,没有你重新定义a
( doc
在功能的范围,你的情况)。
此外,写:
doc = self.lineEdit_2.text()
因为这在导入时仅执行一次。
您可以尝试这样的事情。 请注意,您需要将该回调放入对象中,以便将其绑定到对象并在self
引用自身。
class YourObject():
def pushButton_7_clicked(self, checked):
print(self.lineEdit_2.text())
self.pushButton_7.clicked.connect(self.pushButton_7_clicked)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.