PySide - 如何根据QLineEdit文本值动态更新字符串值?

时间:2014-02-16 17:17:58

标签: pyqt4 pyside

每次QLineEdit的Text值发生变化时,如何动态更新字符串?我尝试使用信号和插槽,并且可以正常使用QLabel,但不能使用字符串。

self.lnEditCurrentNS = QtGui.QLineEdit(self) # This is my QLineEdit

my_string = 'none'
self.lnEditCurrentNS.textChanged.connect(self.onSelectedValue)

def onSelectedValue(self):
    selectedValue = self.txtEditCurrentNS.displayText()
    my_string = selectedValue

假设当前lnEditCurrentNS ='none',则将其更改为“hello”。 my_string的值保持为'none',而不是更新为'hello'。

当组合框的当前索引发生变化时,动态更新lnEditCurrentNS的值(combobox ='hello',lnEditCurrentNS ='hello')

我对PySide / PyQt不是很熟悉所以我们非常感谢任何指导。感谢。

1 个答案:

答案 0 :(得分:0)

您在my_string之外宣布onSelectedValue,您在onSelectedValue内分配了一个值。现在,如果您在my_string之外使用onSelectedValue,则不会给出lineEdit的文字。

您可以执行以下操作:

self.my_string = 'None'
...

def onSelectedValue(self):
    self.my_string = self.textEditCurrentNS.text()

现在,您可以在代码中的任何位置使用self.my_string来获取lineEdit的当前文本。